]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/dbd_lookup.c
Merge remote-tracking branch 'origin/branch-netatalk-3-1'
[netatalk.git] / etc / cnid_dbd / dbd_lookup.c
index 0ab85f9944904d2fbadab36155042398b55a97cc..9ff4e411d356115829d7f3b6959168884d367047 100644 (file)
@@ -1,5 +1,4 @@
 /*
- * $Id: dbd_lookup.c,v 1.18 2010-01-19 14:57:11 franklahm Exp $
  *
  * Copyright (C) Joerg Lenneis 2003
  * Copyright (C) Frank Lahm 2009
@@ -119,7 +118,8 @@ to be safe we must assign new CNIDs to both files.
 #include <arpa/inet.h>
 
 #include <atalk/logger.h>
-#include <atalk/cnid_dbd_private.h>
+#include <atalk/cnid_bdb_private.h>
+#include <atalk/cnid.h>
 
 #include "pack.h"
 #include "dbif.h"
@@ -281,6 +281,7 @@ int dbd_lookup(DBD *dbd, struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply)
             if (dbd_delete(dbd, rqst, rply, DBIF_CNID) < 0)
                 return -1;
             rply->result = CNID_DBD_RES_NOTFOUND;
+            rqst->cnid = CNID_INVALID; /* invalidate CNID hint */
             return 1;
         }
     }
@@ -292,6 +293,7 @@ int dbd_lookup(DBD *dbd, struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply)
         if (dbd_delete(dbd, rqst, rply, DBIF_CNID) < 0)
             return -1;
         rply->result = CNID_DBD_RES_NOTFOUND;
+        rqst->cnid = CNID_INVALID; /* invalidate CNID hint */
         return 1;
     }