summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tdb2/tdb1.h2
-rw-r--r--lib/tdb2/tdb1_tdb.c9
-rw-r--r--lib/tdb2/tdb1_traverse.c2
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,