tdb_transaction_commit: check returns for 0, not -1.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 20 Jun 2011 09:10:31 +0000 (18:40 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 20 Jun 2011 09:18:35 +0000 (11:18 +0200)
TDB2 returns a negative error number on failure.  This is compatible
if we always check for != 0 instead of == -1.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
source3/lib/dbwrap_tdb.c
source3/lib/gencache.c

index f8baa0aeca8ff6a67c407c1ad72626fcb25386b7..fc2af28c83ff8e8f7ba3d7447c8cf5a0aef076c2 100644 (file)
@@ -323,7 +323,7 @@ static int db_tdb_transaction_commit(struct db_context *db)
 {
        struct db_tdb_ctx *db_ctx =
                talloc_get_type_abort(db->private_data, struct db_tdb_ctx);
-       return tdb_transaction_commit(db_ctx->wtdb->tdb);
+       return tdb_transaction_commit(db_ctx->wtdb->tdb) == 0 ? 0 : -1;
 }
 
 static int db_tdb_transaction_cancel(struct db_context *db)
index 5c9c1a296af956542fb48de3e4ed8cb5b4313cd9..62bad96fbb44237d619ebc61177f46ad73941925 100644 (file)
@@ -461,7 +461,7 @@ bool gencache_stabilize(void)
        }
 
        res = tdb_transaction_start_nonblock(cache);
-       if (res == -1) {
+       if (res != 0) {
 
                if (tdb_error(cache) == TDB_ERR_NOLOCK) {
                        /*
@@ -476,7 +476,7 @@ bool gencache_stabilize(void)
                return false;
        }
        res = tdb_transaction_start(cache_notrans);
-       if (res == -1) {
+       if (res != 0) {
                tdb_transaction_cancel(cache);
                DEBUG(10, ("Could not start transaction on "
                           "gencache_notrans.tdb: %s\n",
@@ -505,7 +505,7 @@ bool gencache_stabilize(void)
        }
 
        res = tdb_transaction_commit(cache);
-       if (res == -1) {
+       if (res != 0) {
                DEBUG(10, ("tdb_transaction_commit on gencache.tdb failed: "
                           "%s\n", tdb_errorstr(cache)));
                if (tdb_transaction_cancel(cache_notrans) == -1) {
@@ -515,7 +515,7 @@ bool gencache_stabilize(void)
        }
 
        res = tdb_transaction_commit(cache_notrans);
-       if (res == -1) {
+       if (res != 0) {
                DEBUG(10, ("tdb_transaction_commit on gencache.tdb failed: "
                           "%s\n", tdb_errorstr(cache)));
                return false;