From d58146321b6fe50e1cc1a73da80c3d2e8c3412dc Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Tue, 9 May 2000 06:22:12 +0000 Subject: [PATCH] Added tdb_store_by_string() and tdb_fetch_by_string() functions to store data with null terminated string keys. --- source/tdb/tdbutil.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/source/tdb/tdbutil.c b/source/tdb/tdbutil.c index 75110208738..d7cc7f8b2a2 100644 --- a/source/tdb/tdbutil.c +++ b/source/tdb/tdbutil.c @@ -65,3 +65,30 @@ int tdb_store_int(TDB_CONTEXT *tdb, char *keystr, int v) { return tdb_store_int_byblob(tdb, keystr, strlen(keystr), v); } + +/* Store a buffer by a null terminated string key. Return 0 on success, -1 + on failure */ +int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len) +{ + TDB_DATA key, data; + + key.dptr = keystr; + key.dsize = strlen(keystr) + 1; + + data.dptr = buffer; + data.dsize = len; + + return tdb_store(tdb, key, data, TDB_REPLACE); +} + +/* Fetch a buffer using a null terminated string key. Don't forget to call + free() on the result dptr. */ +TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr) +{ + TDB_DATA key; + + key.dptr = keystr; + key.dsize = strlen(keystr) + 1; + + return tdb_fetch(tdb, key); +}