diff options
Diffstat (limited to 'lib/tdb2')
-rw-r--r-- | lib/tdb2/tdb1.h | 2 | ||||
-rw-r--r-- | lib/tdb2/tdb1_tdb.c | 9 | ||||
-rw-r--r-- | lib/tdb2/tdb1_traverse.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/lib/tdb2/tdb1.h b/lib/tdb2/tdb1.h index 6f23b6dd2b..54b6d936d4 100644 --- a/lib/tdb2/tdb1.h +++ b/lib/tdb2/tdb1.h @@ -42,6 +42,4 @@ uint64_t tdb1_incompatible_hash(const void *key, size_t len, uint64_t seed, void /* @} ******************************************************************/ -extern TDB_DATA tdb1_null; - #endif /* tdb1.h */ diff --git a/lib/tdb2/tdb1_tdb.c b/lib/tdb2/tdb1_tdb.c index 2442d34785..99b83ab72d 100644 --- a/lib/tdb2/tdb1_tdb.c +++ b/lib/tdb2/tdb1_tdb.c @@ -28,8 +28,6 @@ #include "tdb1_private.h" #include <assert.h> -TDB_DATA tdb1_null; - /* non-blocking increment of the tdb sequence number if the tdb has been opened using the TDB_SEQNUM flag @@ -191,8 +189,11 @@ static TDB_DATA _tdb1_fetch(struct tdb_context *tdb, TDB_DATA key) /* find which hash bucket it is in */ hash = tdb_hash(tdb, key.dptr, key.dsize); - if (!(rec_ptr = tdb1_find_lock_hash(tdb,key,hash,F_RDLCK,&rec))) - return tdb1_null; + if (!(rec_ptr = tdb1_find_lock_hash(tdb,key,hash,F_RDLCK,&rec))) { + ret.dptr = NULL; + ret.dsize = 0; + return ret; + } ret.dptr = tdb1_alloc_read(tdb, rec_ptr + sizeof(rec) + rec.key_len, rec.data_len); diff --git a/lib/tdb2/tdb1_traverse.c b/lib/tdb2/tdb1_traverse.c index 63052854d5..d9d3649fd9 100644 --- a/lib/tdb2/tdb1_traverse.c +++ b/lib/tdb2/tdb1_traverse.c @@ -29,6 +29,8 @@ #define TDB1_NEXT_LOCK_ERR ((tdb1_off_t)-1) +static TDB_DATA tdb1_null; + /* Uses traverse lock: 0 = finish, TDB1_NEXT_LOCK_ERR = error, other = record offset */ static tdb1_off_t tdb1_next_lock(struct tdb_context *tdb, struct tdb1_traverse_lock *tlock, |