From 47955b2f6cd10ac690705d322a8862c23f18072c Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 7 Nov 2002 02:38:42 +0000 Subject: Merge of scalable printing code fix... Needs testing. Also tidied up some of Richard's code (I don't think he uses the compiler flags -g -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual like I do :-) :-). Jeremy. (This used to be commit 10024ed06e9d91f24fdc78d59eef2f76bf395438) --- source3/tdb/tdb.c | 3 ++- source3/tdb/tdbutil.c | 19 ++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'source3/tdb') diff --git a/source3/tdb/tdb.c b/source3/tdb/tdb.c index c57d23cb6f..2a6dca16a8 100644 --- a/source3/tdb/tdb.c +++ b/source3/tdb/tdb.c @@ -1442,7 +1442,8 @@ int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag) } memcpy(p, key.dptr, key.dsize); - memcpy(p+key.dsize, dbuf.dptr, dbuf.dsize); + if (dbuf.dsize) + memcpy(p+key.dsize, dbuf.dptr, dbuf.dsize); /* now we're into insert / modify / replace of a record which * we know could not be optimised by an in-place store (for diff --git a/source3/tdb/tdbutil.c b/source3/tdb/tdbutil.c index e7650033b8..ad97f45044 100644 --- a/source3/tdb/tdbutil.c +++ b/source3/tdb/tdbutil.c @@ -218,17 +218,14 @@ BOOL tdb_store_uint32(TDB_CONTEXT *tdb, char *keystr, uint32 value) on failure. ****************************************************************************/ -int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len) +int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, TDB_DATA data, int flags) { - TDB_DATA key, data; + TDB_DATA key; key.dptr = keystr; key.dsize = strlen(keystr) + 1; - data.dptr = buffer; - data.dsize = len; - - return tdb_store(tdb, key, data, TDB_REPLACE); + return tdb_store(tdb, key, data, flags); } /**************************************************************************** @@ -247,17 +244,17 @@ TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr) } /**************************************************************************** - Delete a buffer using a null terminated string key. + Delete an entry using a null terminated string key. ****************************************************************************/ int tdb_delete_by_string(TDB_CONTEXT *tdb, char *keystr) { - TDB_DATA key; + TDB_DATA key; - key.dptr = keystr; - key.dsize = strlen(keystr) + 1; + key.dptr = keystr; + key.dsize = strlen(keystr) + 1; - return tdb_delete(tdb, key); + return tdb_delete(tdb, key); } /**************************************************************************** -- cgit