]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/cnid/cnid_mangle_add.c
Warning fixes.
[netatalk.git] / libatalk / cnid / cnid_mangle_add.c
index ed3f393b9fdb9df39f17c02502f3e87a5707ee00..6439eb44a8720477c3efec404ca7cdd20cbd9bdf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: cnid_mangle_add.c,v 1.2 2002-05-30 06:41:19 jmarcus Exp $
+ * $Id: cnid_mangle_add.c,v 1.6 2003-06-06 21:22:44 srittau Exp $
  */
 
 #ifdef HAVE_CONFIG_H
 
 #include "cnid_private.h"
 
+#ifdef CNID_DB_CDB
+    #define tid    NULL
+#endif /* CNID_DB_CDB */
+
 /* Add a mangled filename. */
 int
 cnid_mangle_add(void *CNID, char *mfilename, char *filename)
 {
     CNID_private *db;
     DBT key, data;
+#ifndef CNID_DB_CDB
     DB_TXN *tid;
-    cnid_t id;
-    int rc, ret;
+#endif /* CNID_DB_CDB */
+    int rc;
 
     if (!(db = CNID)) {
         return -1;
@@ -42,32 +47,40 @@ cnid_mangle_add(void *CNID, char *mfilename, char *filename)
     key.data = mfilename;
     key.size = strlen(mfilename);
     data.data = filename;
-    data.size = strlen(filename);
+    data.size = strlen(filename) + 1;
 
+#ifndef CNID_DB_CDB
 retry:
     if ((rc = txn_begin(db->dbenv, NULL, &tid, 0)) != 0) {
-       LOG(log_error, logtype_default, "cnid_mangle_add: Failed to begin transaction: %s", db_strerror(rc));
-       return -1;
+        LOG(log_error, logtype_default, "cnid_mangle_add: Failed to begin transaction: %s", db_strerror(rc));
+        return -1;
     }
+#endif /* CNID_DB_CDB */
 
     if ((rc = db->db_mangle->put(db->db_mangle, tid, &key, &data, 0))) {
-       if ((ret = txn_abort(tid)) != 0) {
-           LOG(log_error, logtype_default, "cnid_mangle_add: txn_abort: %s", db_strerror(ret));
-           return -1;
-       }
-       switch (rc) {
-           case DB_LOCK_DEADLOCK:
-               goto retry;
-           default:
-               LOG(log_error, logtype_default, "cnid_mangle_add: Failed to add mangled filename to the database: %s", db_strerror(rc));
-               return -1;
-       }
+#ifndef CNID_DB_CDB
+        if ((ret = txn_abort(tid)) != 0) {
+            LOG(log_error, logtype_default, "cnid_mangle_add: txn_abort: %s", db_strerror(ret));
+            return -1;
+        }
+#endif /* CNID_DB_CDB */
+        switch (rc) {
+#ifndef CNID_DB_CDB
+        case DB_LOCK_DEADLOCK:
+            goto retry;
+#endif /* CNID_DB_CDB */
+        default:
+            LOG(log_error, logtype_default, "cnid_mangle_add: Failed to add mangled filename to the database: %s", db_strerror(rc));
+            return -1;
+        }
     }
 
+#ifndef CNID_DB_CDB
     if ((rc = txn_commit(tid, 0)) != 0) {
-       LOG(log_error, logtype_default, "cnid_mangle_add: Unable to commit transaction: %s", db_strerror(rc));
-       return -1;
+        LOG(log_error, logtype_default, "cnid_mangle_add: Unable to commit transaction: %s", db_strerror(rc));
+        return -1;
     }
+#endif /* CNID_DB_CDB */
 
     return 0;
 }