r24336: Use standard data type uint32_t rather than tdb-specific u32.
authorJelmer Vernooij <jelmer@samba.org>
Sat, 11 Aug 2007 21:19:24 +0000 (21:19 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:01:39 +0000 (15:01 -0500)
source/lib/tdb/common/error.c
source/lib/tdb/common/io.c
source/lib/tdb/common/lock.c
source/lib/tdb/common/open.c
source/lib/tdb/common/tdb.c
source/lib/tdb/common/tdb_private.h
source/lib/tdb/common/transaction.c
source/lib/tdb/common/traverse.c

index c907602ca76d3123564e4a4ae13cab5493f2239a..195ab238154df7b34f1631c08c2eaffa5a833e1e 100644 (file)
@@ -48,7 +48,7 @@ static struct tdb_errname {
 /* Error string for the last tdb error */
 const char *tdb_errorstr(struct tdb_context *tdb)
 {
-       u32 i;
+       uint32_t i;
        for (i = 0; i < sizeof(emap) / sizeof(struct tdb_errname); i++)
                if (tdb->ecode == emap[i].ecode)
                        return emap[i].estring;
index df924a9dcd7ee98beaf15ce35c8f4be353bb45ad..86001dfdae6803873d6aec72735f13fed2e12968 100644 (file)
@@ -99,9 +99,9 @@ static int tdb_write(struct tdb_context *tdb, tdb_off_t off,
 }
 
 /* Endian conversion: we only ever deal with 4 byte quantities */
-void *tdb_convert(void *buf, u32 size)
+void *tdb_convert(void *buf, uint32_t size)
 {
-       u32 i, *p = (u32 *)buf;
+       uint32_t i, *p = (uint32_t *)buf;
        for (i = 0; i < size / 4; i++)
                p[i] = TDB_BYTEREV(p[i]);
        return buf;
@@ -142,17 +142,17 @@ static int tdb_read(struct tdb_context *tdb, tdb_off_t off, void *buf,
   do an unlocked scan of the hash table heads to find the next non-zero head. The value
   will then be confirmed with the lock held
 */             
-static void tdb_next_hash_chain(struct tdb_context *tdb, u32 *chain)
+static void tdb_next_hash_chain(struct tdb_context *tdb, uint32_t *chain)
 {
-       u32 h = *chain;
+       uint32_t h = *chain;
        if (tdb->map_ptr) {
                for (;h < tdb->header.hash_size;h++) {
-                       if (0 != *(u32 *)(TDB_HASH_TOP(h) + (unsigned char *)tdb->map_ptr)) {
+                       if (0 != *(uint32_t *)(TDB_HASH_TOP(h) + (unsigned char *)tdb->map_ptr)) {
                                break;
                        }
                }
        } else {
-               u32 off=0;
+               uint32_t off=0;
                for (;h < tdb->header.hash_size;h++) {
                        if (tdb_ofs_read(tdb, TDB_HASH_TOP(h), &off) != 0 || off != 0) {
                                break;
index e3f0b901a3d9f1724da90b5a62c75f03ceaf7108..c0cb9c8766cc0446719020c612ccda6a61ae09cf 100644 (file)
@@ -523,7 +523,7 @@ int tdb_write_unlock_record(struct tdb_context *tdb, tdb_off_t off)
 int tdb_unlock_record(struct tdb_context *tdb, tdb_off_t off)
 {
        struct tdb_traverse_lock *i;
-       u32 count = 0;
+       uint32_t count = 0;
 
        if (off == 0)
                return 0;
index edb0a5091642bd9cc0b083d80cf4a889eb2985bc..0bd1c91a5eec1333af91d949b17cf202a29540ef 100644 (file)
@@ -34,8 +34,8 @@ static struct tdb_context *tdbs = NULL;
 /* This is based on the hash algorithm from gdbm */
 static unsigned int default_tdb_hash(TDB_DATA *key)
 {
-       u32 value;      /* Used to compute the hash value.  */
-       u32   i;        /* Used to cycle through random values. */
+       uint32_t value; /* Used to compute the hash value.  */
+       uint32_t i;     /* Used to cycle through random values. */
 
        /* Set the initial value from the key size. */
        for (value = 0x238F13AF * key->dsize, i=0; i < key->dsize; i++)
@@ -151,7 +151,7 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
        struct stat st;
        int rev = 0, locked = 0;
        unsigned char *vp;
-       u32 vertest;
+       uint32_t vertest;
 
        if (!(tdb = (struct tdb_context *)calloc(1, sizeof *tdb))) {
                /* Can't log this */
@@ -249,8 +249,8 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
                rev = (tdb->flags & TDB_CONVERT);
        }
        vp = (unsigned char *)&tdb->header.version;
-       vertest = (((u32)vp[0]) << 24) | (((u32)vp[1]) << 16) |
-                 (((u32)vp[2]) << 8) | (u32)vp[3];
+       vertest = (((uint32_t)vp[0]) << 24) | (((uint32_t)vp[1]) << 16) |
+                 (((uint32_t)vp[2]) << 8) | (uint32_t)vp[3];
        tdb->flags |= (vertest==TDB_VERSION) ? TDB_BIGENDIAN : 0;
        if (!rev)
                tdb->flags &= ~TDB_CONVERT;
index d4e6e18664a40811f1fddc8acaac51eaf914f602..0e9d1dbd7412942634d982c92fe3bef57d7bf572 100644 (file)
@@ -75,7 +75,7 @@ static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data)
 
 /* Returns 0 on fail.  On success, return offset of record, and fills
    in rec */
-static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, u32 hash,
+static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, uint32_t hash,
                        struct list_struct *r)
 {
        tdb_off_t rec_ptr;
@@ -102,10 +102,11 @@ static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, u32 hash,
 }
 
 /* As tdb_find, but if you succeed, keep the lock */
-tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, int locktype,
+tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, 
+                                                        uint32_t hash, int locktype,
                           struct list_struct *rec)
 {
-       u32 rec_ptr;
+       uint32_t rec_ptr;
 
        if (tdb_lock(tdb, BUCKET(hash), locktype) == -1)
                return 0;
@@ -119,7 +120,7 @@ tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, in
    is <= the old data size and the key exists.
    on failure return -1.
 */
-static int tdb_update_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, TDB_DATA dbuf)
+static int tdb_update_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, TDB_DATA dbuf)
 {
        struct list_struct rec;
        tdb_off_t rec_ptr;
@@ -158,7 +159,7 @@ TDB_DATA tdb_fetch(struct tdb_context *tdb, TDB_DATA key)
        tdb_off_t rec_ptr;
        struct list_struct rec;
        TDB_DATA ret;
-       u32 hash;
+       uint32_t hash;
 
        /* find which hash bucket it is in */
        hash = tdb->hash_fn(&key);
@@ -196,7 +197,7 @@ int tdb_parse_record(struct tdb_context *tdb, TDB_DATA key,
        tdb_off_t rec_ptr;
        struct list_struct rec;
        int ret;
-       u32 hash;
+       uint32_t hash;
 
        /* find which hash bucket it is in */
        hash = tdb->hash_fn(&key);
@@ -219,7 +220,7 @@ int tdb_parse_record(struct tdb_context *tdb, TDB_DATA key,
    this doesn't match the conventions in the rest of this module, but is
    compatible with gdbm
 */
-static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash)
+static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash)
 {
        struct list_struct rec;
        
@@ -231,7 +232,7 @@ static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash)
 
 int tdb_exists(struct tdb_context *tdb, TDB_DATA key)
 {
-       u32 hash = tdb->hash_fn(&key);
+       uint32_t hash = tdb->hash_fn(&key);
        return tdb_exists_hash(tdb, key, hash);
 }
 
@@ -270,7 +271,7 @@ int tdb_do_delete(struct tdb_context *tdb, tdb_off_t rec_ptr, struct list_struct
        return 0;
 }
 
-static int tdb_count_dead(struct tdb_context *tdb, u32 hash)
+static int tdb_count_dead(struct tdb_context *tdb, uint32_t hash)
 {
        int res = 0;
        tdb_off_t rec_ptr;
@@ -295,7 +296,7 @@ static int tdb_count_dead(struct tdb_context *tdb, u32 hash)
 /*
  * Purge all DEAD records from a hash chain
  */
-static int tdb_purge_dead(struct tdb_context *tdb, u32 hash)
+static int tdb_purge_dead(struct tdb_context *tdb, uint32_t hash)
 {
        int res = -1;
        struct list_struct rec;
@@ -331,7 +332,7 @@ static int tdb_purge_dead(struct tdb_context *tdb, u32 hash)
 }
 
 /* delete an entry in the database given a key */
-static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash)
+static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash)
 {
        tdb_off_t rec_ptr;
        struct list_struct rec;
@@ -385,14 +386,14 @@ static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash)
 
 int tdb_delete(struct tdb_context *tdb, TDB_DATA key)
 {
-       u32 hash = tdb->hash_fn(&key);
+       uint32_t hash = tdb->hash_fn(&key);
        return tdb_delete_hash(tdb, key, hash);
 }
 
 /*
  * See if we have a dead record around with enough space
  */
-static tdb_off_t tdb_find_dead(struct tdb_context *tdb, u32 hash,
+static tdb_off_t tdb_find_dead(struct tdb_context *tdb, uint32_t hash,
                               struct list_struct *r, tdb_len_t length)
 {
        tdb_off_t rec_ptr;
@@ -426,7 +427,7 @@ static tdb_off_t tdb_find_dead(struct tdb_context *tdb, u32 hash,
 int tdb_store(struct tdb_context *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
 {
        struct list_struct rec;
-       u32 hash;
+       uint32_t hash;
        tdb_off_t rec_ptr;
        char *p = NULL;
        int ret = -1;
@@ -564,7 +565,7 @@ int tdb_store(struct tdb_context *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
 /* Append to an entry. Create if not exist. */
 int tdb_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf)
 {
-       u32 hash;
+       uint32_t hash;
        TDB_DATA dbuf;
        int ret = -1;
 
index d16dcb93afe67a26f814c2f55d31ce13ed78b1f7..3871c29170e1a583b10030f8a664b0bcaa013979 100644 (file)
 #include "system/select.h"
 #include "tdb.h"
 
-#ifndef u32
-#define u32 unsigned
-#endif
-
 #ifndef HAVE_GETPAGESIZE
 #define getpagesize() 0x2000
 #endif
 
-typedef u32 tdb_len_t;
-typedef u32 tdb_off_t;
+typedef uint32_t tdb_len_t;
+typedef uint32_t tdb_off_t;
 
 #ifndef offsetof
 #define offsetof(t,f) ((unsigned int)&((t *)0)->f)
@@ -95,8 +91,8 @@ struct list_struct {
        tdb_len_t rec_len; /* total byte length of record */
        tdb_len_t key_len; /* byte length of key */
        tdb_len_t data_len; /* byte length of data */
-       u32 full_hash; /* the full 32 bit hash of the key */
-       u32 magic;   /* try to catch errors */
+       uint32_t full_hash; /* the full 32 bit hash of the key */
+       uint32_t magic;   /* try to catch errors */
        /* the following union is implied:
                union {
                        char record[rec_len];
@@ -104,7 +100,7 @@ struct list_struct {
                                char key[key_len];
                                char data[data_len];
                        }
-                       u32 totalsize; (tailer)
+                       uint32_t totalsize; (tailer)
                }
        */
 };
@@ -113,8 +109,8 @@ struct list_struct {
 /* this is stored at the front of every database */
 struct tdb_header {
        char magic_food[32]; /* for /etc/magic */
-       u32 version; /* version of the code */
-       u32 hash_size; /* number of hash entries */
+       uint32_t version; /* version of the code */
+       uint32_t hash_size; /* number of hash entries */
        tdb_off_t rwlocks; /* obsolete - kept to detect old formats */
        tdb_off_t recovery_start; /* offset of transaction recovery region */
        tdb_off_t sequence_number; /* used when TDB_SEQNUM is set */
@@ -123,14 +119,14 @@ struct tdb_header {
 
 struct tdb_lock_type {
        int list;
-       u32 count;
-       u32 ltype;
+       uint32_t count;
+       uint32_t ltype;
 };
 
 struct tdb_traverse_lock {
        struct tdb_traverse_lock *next;
-       u32 off;
-       u32 hash;
+       uint32_t off;
+       uint32_t hash;
        int lock_rw;
 };
 
@@ -138,7 +134,7 @@ struct tdb_traverse_lock {
 struct tdb_methods {
        int (*tdb_read)(struct tdb_context *, tdb_off_t , void *, tdb_len_t , int );
        int (*tdb_write)(struct tdb_context *, tdb_off_t, const void *, tdb_len_t);
-       void (*next_hash_chain)(struct tdb_context *, u32 *);
+       void (*next_hash_chain)(struct tdb_context *, uint32_t *);
        int (*tdb_oob)(struct tdb_context *, tdb_off_t , int );
        int (*tdb_expand_file)(struct tdb_context *, tdb_off_t , tdb_off_t );
        int (*tdb_brlock)(struct tdb_context *, tdb_off_t , int, int, int, size_t);
@@ -156,7 +152,7 @@ struct tdb_context {
        struct tdb_lock_type *lockrecs; /* only real locks, all with count>0 */
        enum TDB_ERROR ecode; /* error code for last tdb error */
        struct tdb_header header; /* a cached copy of the header */
-       u32 flags; /* the flags passed to tdb_open */
+       uint32_t flags; /* the flags passed to tdb_open */
        struct tdb_traverse_lock travlocks; /* current traversal locks */
        struct tdb_context *next; /* all tdbs to avoid multiple opens */
        dev_t device;   /* uniquely identifies this tdb */
@@ -188,7 +184,7 @@ int tdb_write_lock_record(struct tdb_context *tdb, tdb_off_t off);
 int tdb_write_unlock_record(struct tdb_context *tdb, tdb_off_t off);
 int tdb_ofs_read(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d);
 int tdb_ofs_write(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d);
-void *tdb_convert(void *buf, u32 size);
+void *tdb_convert(void *buf, uint32_t size);
 int tdb_free(struct tdb_context *tdb, tdb_off_t offset, struct list_struct *rec);
 tdb_off_t tdb_allocate(struct tdb_context *tdb, tdb_len_t length, struct list_struct *rec);
 int tdb_ofs_read(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d);
@@ -204,7 +200,7 @@ int tdb_parse_data(struct tdb_context *tdb, TDB_DATA key,
                   int (*parser)(TDB_DATA key, TDB_DATA data,
                                 void *private_data),
                   void *private_data);
-tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, int locktype,
+tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, int locktype,
                           struct list_struct *rec);
 void tdb_io_init(struct tdb_context *tdb);
 int tdb_expand(struct tdb_context *tdb, tdb_off_t size);
index 64a5b3f3f2224e074ea2e1df79535a366b05a930..7eaacf7a164fbad3052c8b211ca8f547af3ba3be 100644 (file)
@@ -100,7 +100,7 @@ struct tdb_transaction_el {
 struct tdb_transaction {
        /* we keep a mirrored copy of the tdb hash heads here so
           tdb_next_hash_chain() can operate efficiently */
-       u32 *hash_heads;
+       uint32_t *hash_heads;
 
        /* the original io methods - used to do IOs to the real db */
        const struct tdb_methods *io_methods;
@@ -205,7 +205,7 @@ static int transaction_write(struct tdb_context *tdb, tdb_off_t off,
           hash heads */
        if (len == sizeof(tdb_off_t) && off >= FREELIST_TOP &&
            off < FREELIST_TOP+TDB_HASHTABLE_SIZE(tdb)) {
-               u32 chain = (off-FREELIST_TOP) / sizeof(tdb_off_t);
+               uint32_t chain = (off-FREELIST_TOP) / sizeof(tdb_off_t);
                memcpy(&tdb->transaction->hash_heads[chain], buf, len);
        }
 
@@ -316,9 +316,9 @@ fail:
 /*
   accelerated hash chain head search, using the cached hash heads
 */
-static void transaction_next_hash_chain(struct tdb_context *tdb, u32 *chain)
+static void transaction_next_hash_chain(struct tdb_context *tdb, uint32_t *chain)
 {
-       u32 h = *chain;
+       uint32_t h = *chain;
        for (;h < tdb->header.hash_size;h++) {
                /* the +1 takes account of the freelist */
                if (0 != tdb->transaction->hash_heads[h+1]) {
@@ -437,8 +437,8 @@ int tdb_transaction_start(struct tdb_context *tdb)
 
        /* setup a copy of the hash table heads so the hash scan in
           traverse can be fast */
-       tdb->transaction->hash_heads = (u32 *)
-               calloc(tdb->header.hash_size+1, sizeof(u32));
+       tdb->transaction->hash_heads = (uint32_t *)
+               calloc(tdb->header.hash_size+1, sizeof(uint32_t));
        if (tdb->transaction->hash_heads == NULL) {
                tdb->ecode = TDB_ERR_OOM;
                goto fail;
@@ -570,7 +570,7 @@ static tdb_len_t tdb_recovery_size(struct tdb_context *tdb)
        struct tdb_transaction_el *el;
        tdb_len_t recovery_size = 0;
 
-       recovery_size = sizeof(u32);
+       recovery_size = sizeof(uint32_t);
        for (el=tdb->transaction->elements;el;el=el->next) {
                if (el->offset >= tdb->transaction->old_map_size) {
                        continue;
@@ -676,7 +676,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
        struct list_struct *rec;
        tdb_off_t recovery_offset, recovery_max_size;
        tdb_off_t old_map_size = tdb->transaction->old_map_size;
-       u32 magic, tailer;
+       uint32_t magic, tailer;
 
        /*
          check that the recovery area has enough space
@@ -779,7 +779,7 @@ int tdb_transaction_commit(struct tdb_context *tdb)
 {      
        const struct tdb_methods *methods;
        tdb_off_t magic_offset = 0;
-       u32 zero = 0;
+       uint32_t zero = 0;
 
        if (tdb->transaction == NULL) {
                TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_transaction_commit: no transaction\n"));
@@ -932,7 +932,7 @@ int tdb_transaction_recover(struct tdb_context *tdb)
 {
        tdb_off_t recovery_head, recovery_eof;
        unsigned char *data, *p;
-       u32 zero = 0;
+       uint32_t zero = 0;
        struct list_struct rec;
 
        /* find the recovery area */
@@ -986,7 +986,7 @@ int tdb_transaction_recover(struct tdb_context *tdb)
        /* recover the file data */
        p = data;
        while (p+8 < data + rec.data_len) {
-               u32 ofs, len;
+               uint32_t ofs, len;
                if (DOCONV()) {
                        tdb_convert(p, 8);
                }
index ef8f8810844e28b29e6f39dae15ab60d29896143..6fc576a55a324b942973356cc371a352a1cb88fb 100644 (file)
@@ -274,7 +274,7 @@ TDB_DATA tdb_firstkey(struct tdb_context *tdb)
 /* find the next entry in the database, returning its key */
 TDB_DATA tdb_nextkey(struct tdb_context *tdb, TDB_DATA oldkey)
 {
-       u32 oldhash;
+       uint32_t oldhash;
        TDB_DATA key = tdb_null;
        struct list_struct rec;
        unsigned char *k = NULL;