tdb_store: 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>
12 files changed:
lib/tdb/tools/tdbrestore.c
lib/tdb/tools/tdbtool.c
lib/util/util_tdb.c
lib/util/util_tdb.h
source3/lib/eventlog/eventlog.c
source3/libsmb/samlogon_cache.c
source3/libsmb/smb_share_modes.c
source3/printing/nt_printing_tdb.c
source3/printing/printing.c
source4/lib/ldb/ldb_tdb/ldb_index.c
source4/lib/ldb/ldb_tdb/ldb_tdb.c
source4/ntvfs/posix/xattr_tdb.c

index 95ee36064746a810b7e9d1240d12deb8d5d5470b..1daac63db18ef5c1a52b3b2777ad2a4de2bd1852 100644 (file)
@@ -170,7 +170,7 @@ static int read_rec(FILE *f, TDB_CONTEXT *tdb, int *eof)
            || (swallow(f, "}\n", NULL) == -1)) {
                goto fail;
        }
-       if (tdb_store(tdb, key, data, TDB_INSERT) == -1) {
+       if (tdb_store(tdb, key, data, TDB_INSERT) != 0) {
                fprintf(stderr, "TDB error: %s\n", tdb_errorstr(tdb));
                goto fail;
        }
index cd17f79e325e8c1e38a5bc043004ee8f172a63ac..99d4841cf39d994935401a4b8fc139a5f28acecb 100644 (file)
@@ -257,7 +257,7 @@ static void insert_tdb(char *keyname, size_t keylen, char* data, size_t datalen)
        dbuf.dptr = (unsigned char *)data;
        dbuf.dsize = datalen;
 
-       if (tdb_store(tdb, key, dbuf, TDB_INSERT) == -1) {
+       if (tdb_store(tdb, key, dbuf, TDB_INSERT) != 0) {
                terror("insert failed");
        }
 }
@@ -284,7 +284,7 @@ static void store_tdb(char *keyname, size_t keylen, char* data, size_t datalen)
        printf("Storing key:\n");
        print_rec(tdb, key, dbuf, NULL);
 
-       if (tdb_store(tdb, key, dbuf, TDB_REPLACE) == -1) {
+       if (tdb_store(tdb, key, dbuf, TDB_REPLACE) != 0) {
                terror("store failed");
        }
 }
@@ -363,7 +363,7 @@ static void move_rec(char *keyname, size_t keylen, char* tdbname)
                return;
        }
        
-       if ( tdb_store( dst_tdb, key, dbuf, TDB_REPLACE ) == -1 ) {
+       if (tdb_store( dst_tdb, key, dbuf, TDB_REPLACE ) != 0) {
                terror("failed to move record");
        }
        else
index 2dd5f9dd5fe5d196277607e7b216ff4b5e5c3681..304239f951929077b3ceeaf6d44e5d4efa32e82f 100644 (file)
@@ -133,7 +133,7 @@ int32_t tdb_fetch_int32(struct tdb_context *tdb, const char *keystr)
 }
 
 /****************************************************************************
- Store a int32_t value by an arbitrary blob key, return 0 on success, -1 on failure.
+ Store a int32_t value by an arbitrary blob key, return 0 on success, -ve on failure.
  Input is int32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 
@@ -150,7 +150,7 @@ int tdb_store_int32_byblob(struct tdb_context *tdb, TDB_DATA key, int32_t v)
 }
 
 /****************************************************************************
- Store a int32_t value by string key, return 0 on success, -1 on failure.
+ Store a int32_t value by string key, return 0 on success, -ve on failure.
  Input is int32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 
@@ -190,7 +190,7 @@ bool tdb_fetch_uint32(struct tdb_context *tdb, const char *keystr, uint32_t *val
 }
 
 /****************************************************************************
- Store a uint32_t value by an arbitrary blob key, return 0 on success, -1 on failure.
+ Store a uint32_t value by an arbitrary blob key, return true on success, false on failure.
  Input is uint32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 
@@ -204,14 +204,14 @@ bool tdb_store_uint32_byblob(struct tdb_context *tdb, TDB_DATA key, uint32_t val
        data.dptr = (unsigned char *)&v_store;
        data.dsize = sizeof(uint32_t);
 
-       if (tdb_store(tdb, key, data, TDB_REPLACE) == -1)
+       if (tdb_store(tdb, key, data, TDB_REPLACE) != 0)
                ret = false;
 
        return ret;
 }
 
 /****************************************************************************
- Store a uint32_t value by string key, return 0 on success, -1 on failure.
+ Store a uint32_t value by string key, return true on success, false on failure.
  Input is uint32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 
@@ -220,7 +220,7 @@ bool tdb_store_uint32(struct tdb_context *tdb, const char *keystr, uint32_t valu
        return tdb_store_uint32_byblob(tdb, string_term_tdb_data(keystr), value);
 }
 /****************************************************************************
- Store a buffer by a null terminated string key.  Return 0 on success, -1
+ Store a buffer by a null terminated string key.  Return 0 on success, -ve
  on failure.
 ****************************************************************************/
 
@@ -284,7 +284,7 @@ int32_t tdb_change_int32_atomic(struct tdb_context *tdb, const char *keystr, int
        /* Increment value for storage and return next time */
        val += change_val;
                
-       if (tdb_store_int32(tdb, keystr, val) == -1)
+       if (tdb_store_int32(tdb, keystr, val) != 0)
                goto err_out;
 
        ret = 0;
index 92b88bacb4b3e5ee050a79e7835c6153a3736c34..edffa058d777bd262f9ef8dd4afbb252718e54b4 100644 (file)
@@ -63,13 +63,13 @@ int32_t tdb_fetch_int32_byblob(struct tdb_context *tdb, TDB_DATA key);
 int32_t tdb_fetch_int32(struct tdb_context *tdb, const char *keystr);
 
 /****************************************************************************
- Store a int32_t value by an arbitrary blob key, return 0 on success, -1 on failure.
+ Store a int32_t value by an arbitrary blob key, return 0 on success, -ve on failure.
  Input is int32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 int tdb_store_int32_byblob(struct tdb_context *tdb, TDB_DATA key, int32_t v);
 
 /****************************************************************************
- Store a int32_t value by string key, return 0 on success, -1 on failure.
+ Store a int32_t value by string key, return 0 on success, -ve on failure.
  Input is int32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 int tdb_store_int32(struct tdb_context *tdb, const char *keystr, int32_t v);
@@ -87,19 +87,19 @@ bool tdb_fetch_uint32_byblob(struct tdb_context *tdb, TDB_DATA key, uint32_t *va
 bool tdb_fetch_uint32(struct tdb_context *tdb, const char *keystr, uint32_t *value);
 
 /****************************************************************************
- Store a uint32_t value by an arbitrary blob key, return 0 on success, -1 on failure.
+ Store a uint32_t value by an arbitrary blob key, return true on success, false on failure.
  Input is uint32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 bool tdb_store_uint32_byblob(struct tdb_context *tdb, TDB_DATA key, uint32_t value);
 
 /****************************************************************************
- Store a uint32_t value by string key, return 0 on success, -1 on failure.
+ Store a uint32_t value by string key, return true on success, false on failure.
  Input is uint32_t in native byte order. Output in tdb is in little-endian.
 ****************************************************************************/
 bool tdb_store_uint32(struct tdb_context *tdb, const char *keystr, uint32_t value);
 
 /****************************************************************************
- Store a buffer by a null terminated string key.  Return 0 on success, -1
+ Store a buffer by a null terminated string key.  Return 0 on success, -ve
  on failure.
 ****************************************************************************/
 int tdb_store_bystring(struct tdb_context *tdb, const char *keystr, TDB_DATA data, int flags);
index b719c6f7f8c15cf948f15e94c68d8422e5b97e5f..c29c6f0ed4ef9ea4cea57dc3370ee3e1714a6eb7 100644 (file)
@@ -804,13 +804,13 @@ NTSTATUS evlog_push_record_tdb(TALLOC_CTX *mem_ctx,
        ebuf.dptr  = blob.data;
 
        ret = tdb_store(tdb, kbuf, ebuf, 0);
-       if (ret == -1) {
+       if (ret != 0) {
                tdb_unlock_bystring(tdb, EVT_NEXT_RECORD);
                return NT_STATUS_EVENTLOG_FILE_CORRUPT;
        }
 
        ret = tdb_store_int32(tdb, EVT_NEXT_RECORD, r->record_number + 1);
-       if (ret == -1) {
+       if (ret != 0) {
                tdb_unlock_bystring(tdb, EVT_NEXT_RECORD);
                return NT_STATUS_EVENTLOG_FILE_CORRUPT;
        }
index 67c0e08114a2f19a485fdd1553f6d0df2f1ff94c..618a570c4e05a20d89ef3886d8570663f3accdc0 100644 (file)
@@ -179,7 +179,7 @@ bool netsamlogon_cache_store(const char *username, struct netr_SamInfo3 *info3)
        data.dsize = blob.length;
        data.dptr = blob.data;
 
-       if (tdb_store_bystring(netsamlogon_tdb, keystr, data, TDB_REPLACE) != -1) {
+       if (tdb_store_bystring(netsamlogon_tdb, keystr, data, TDB_REPLACE) == 0) {
                result = true;
        }
 
index 4477da6a19cc067c60f903f04a066b80cdf791d1..e891b960d8ad4c82e5c3295f495a8556cbe40638 100644 (file)
@@ -344,7 +344,7 @@ int smb_create_share_mode_entry_ex(struct smbdb_ctx *db_ctx,
                db_data.dsize = sizeof(struct locking_data) + sizeof(struct share_mode_entry) +
                                        strlen(sharepath) + 1 +
                                        strlen(filename) + 1;
-               if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_INSERT) == -1) {
+               if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_INSERT) != 0) {
                        free(db_data.dptr);
                        return -1;
                }
@@ -387,7 +387,7 @@ int smb_create_share_mode_entry_ex(struct smbdb_ctx *db_ctx,
        db_data.dptr = new_data_p;
        db_data.dsize = new_data_size;
 
-       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) == -1) {
+       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) != 0) {
                free(db_data.dptr);
                return -1;
        }
@@ -510,7 +510,7 @@ int smb_delete_share_mode_entry(struct smbdb_ctx *db_ctx,
 
        db_data.dsize = sizeof(struct locking_data) + (num_share_modes * sizeof(struct share_mode_entry)) + remaining_size;
 
-       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) == -1) {
+       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) != 0) {
                free(db_data.dptr);
                return -1;
        }
@@ -565,7 +565,7 @@ int smb_change_share_mode_entry(struct smbdb_ctx *db_ctx,
        }
 
        /* Save modified data. */
-       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) == -1) {
+       if (tdb_store(db_ctx->smb_tdb, locking_key, db_data, TDB_REPLACE) != 0) {
                free(db_data.dptr);
                return -1;
        }
index e5ae59081b30819dea977462bf84726fcd6c8032..8d8d6f7dc7b9bd412029dff937b01aa15cda5b33 100644 (file)
@@ -245,7 +245,7 @@ static int sec_desc_upg_fn( TDB_CONTEXT *the_tdb, TDB_DATA key,
 
        /* 0 to continue and non-zero to stop traversal */
 
-       return (result == -1);
+       return (result != 0);
 }
 
 /*******************************************************************
index 2e5dbcfab243682f79637637e73f059bacfc7a3d..6dbb560e43fc0c2666a6a770140afb6a48275828 100644 (file)
@@ -624,7 +624,7 @@ static bool remove_from_jobs_changed(const char* sharename, uint32_t jobid)
                        if (i < job_count -1 )
                                memmove(data.dptr + (i*4), data.dptr + (i*4) + 4, (job_count - i - 1)*4 );
                        data.dsize -= 4;
-                       if (tdb_store(pdb->tdb, key, data, TDB_REPLACE) == -1)
+                       if (tdb_store(pdb->tdb, key, data, TDB_REPLACE) != 0)
                                goto out;
                        break;
                }
@@ -1919,7 +1919,7 @@ bool print_notify_register_pid(int snum)
        }
 
        /* Store back the record. */
-       if (tdb_store_bystring(tdb, NOTIFY_PID_LIST_KEY, data, TDB_REPLACE) == -1) {
+       if (tdb_store_bystring(tdb, NOTIFY_PID_LIST_KEY, data, TDB_REPLACE) != 0) {
                DEBUG(0,("print_notify_register_pid: Failed to update pid \
 list for printer %s\n", printername));
                goto done;
@@ -2009,7 +2009,7 @@ printer %s database\n", printername));
                SAFE_FREE(data.dptr);
 
        /* Store back the record. */
-       if (tdb_store_bystring(tdb, NOTIFY_PID_LIST_KEY, data, TDB_REPLACE) == -1) {
+       if (tdb_store_bystring(tdb, NOTIFY_PID_LIST_KEY, data, TDB_REPLACE) != 0) {
                DEBUG(0,("print_notify_register_pid: Failed to update pid \
 list for printer %s\n", printername));
                goto done;
@@ -2153,7 +2153,7 @@ static bool remove_from_jobs_added(const char* sharename, uint32 jobid)
                        if (i < job_count -1 )
                                memmove(data.dptr + (i*4), data.dptr + (i*4) + 4, (job_count - i - 1)*4 );
                        data.dsize -= 4;
-                       if (tdb_store(pdb->tdb, key, data, TDB_REPLACE) == -1)
+                       if (tdb_store(pdb->tdb, key, data, TDB_REPLACE) != 0)
                                goto out;
                        break;
                }
@@ -2622,7 +2622,7 @@ static WERROR allocate_print_jobid(struct tdb_print_db *pdb, int snum,
                dum.dptr = NULL;
                dum.dsize = 0;
                if (tdb_store(pdb->tdb, print_key(jobid, &tmp), dum,
-                             TDB_INSERT) == -1) {
+                             TDB_INSERT) != 0) {
                        DEBUG(3, ("allocate_print_jobid: "
                                  "jobid (%d) failed to store placeholder.\n",
                                  jobid ));
index 45e747379f364668d0e8ab59febad359631f2a6b..0e9f1e75ddf8f9e3577404eaeaad20fa7d1da413 100644 (file)
@@ -294,7 +294,7 @@ static int ltdb_dn_list_store(struct ldb_module *module, struct ldb_dn *dn,
        rec.dsize = sizeof(void *);
 
        ret = tdb_store(ltdb->idxptr->itdb, key, rec, TDB_INSERT);
-       if (ret == -1) {
+       if (ret != 0) {
                return ltdb_err_map(tdb_error(ltdb->idxptr->itdb));
        }
        return LDB_SUCCESS;
index 77a75a45045b933fcfebaea2a0ea802cd614c038..436ef46b33a51e29a21e814511c3dd969f03e4ee 100644 (file)
@@ -264,7 +264,7 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
        }
 
        ret = tdb_store(ltdb->tdb, tdb_key, tdb_data, flgs);
-       if (ret == -1) {
+       if (ret != 0) {
                ret = ltdb_err_map(tdb_error(ltdb->tdb));
                goto done;
        }
index 44aced9beed6d504b23f1b42f1a21af87c320efc..07b371221589f3041f7b72bb7d119c1133d57b95 100644 (file)
@@ -185,7 +185,7 @@ NTSTATUS push_xattr_blob_tdb_raw(struct tdb_wrap *ea_tdb,
                goto done;
        }
 
-       if (tdb_store(ea_tdb->tdb, tkey, tdata, TDB_REPLACE) == -1) {
+       if (tdb_store(ea_tdb->tdb, tkey, tdata, TDB_REPLACE) != 0) {
                status = NT_STATUS_INTERNAL_DB_CORRUPTION;
        }