From eca99f5c226f9518d1ab5c0ba3e586e3d59564d7 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 3 Jan 2002 22:48:48 +0000 Subject: [PATCH] Fixed nasty cast of tdb_delete in traversals. Jeremy. (This used to be commit a0cdec3acc82d1ce0292fadd4b8dac23638450f3) --- source3/groupdb/mapping.c | 2 +- source3/intl/lang_tdb.c | 2 +- source3/lib/account_pol.c | 2 +- source3/printing/nt_printing.c | 2 +- source3/printing/printing.c | 2 +- source3/rpc_server/srv_srvsvc_nt.c | 2 +- source3/tdb/tdbutil.c | 11 +++++++++++ 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/source3/groupdb/mapping.c b/source3/groupdb/mapping.c index 39445d8d4ea..7b445962567 100644 --- a/source3/groupdb/mapping.c +++ b/source3/groupdb/mapping.c @@ -161,7 +161,7 @@ BOOL init_group_mapping(void) /* handle a Samba upgrade */ tdb_lock_bystring(tdb, vstring); if (tdb_fetch_int(tdb, vstring) != DATABASE_VERSION) { - tdb_traverse(tdb, (tdb_traverse_func)tdb_delete, NULL); + tdb_traverse(tdb, tdb_traverse_delete_fn, NULL); tdb_store_int(tdb, vstring, DATABASE_VERSION); } tdb_unlock_bystring(tdb, vstring); diff --git a/source3/intl/lang_tdb.c b/source3/intl/lang_tdb.c index 36f8020bbe1..6f9ff9dd652 100644 --- a/source3/intl/lang_tdb.c +++ b/source3/intl/lang_tdb.c @@ -44,7 +44,7 @@ static BOOL load_msg(const char *msg_file) if (tdb_lockall(tdb) != 0) return False; /* wipe the db */ - tdb_traverse(tdb, (tdb_traverse_func) tdb_delete, NULL); + tdb_traverse(tdb, tdb_traverse_delete_fn, NULL); msgid = NULL; diff --git a/source3/lib/account_pol.c b/source3/lib/account_pol.c index 33579108fa3..111bf5bb912 100644 --- a/source3/lib/account_pol.c +++ b/source3/lib/account_pol.c @@ -44,7 +44,7 @@ BOOL init_account_policy(void) /* handle a Samba upgrade */ tdb_lock_bystring(tdb, vstring); if (tdb_fetch_int(tdb, vstring) != DATABASE_VERSION) { - tdb_traverse(tdb, (tdb_traverse_func)tdb_delete, NULL); + tdb_traverse(tdb, tdb_traverse_delete_fn, NULL); tdb_store_int(tdb, vstring, DATABASE_VERSION); account_policy_set(AP_MIN_PASSWORD_LEN, MINPASSWDLENGTH); /* 5 chars minimum */ diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index b2e7a096e9d..7c565121730 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -269,7 +269,7 @@ BOOL nt_printing_init(void) if (!upgrade_to_version_2()) return False; } else - tdb_traverse(tdb_drivers, (tdb_traverse_func)tdb_delete, NULL); + tdb_traverse(tdb_drivers, tdb_traverse_delete_fn, NULL); tdb_store_int(tdb_drivers, vstring, NTDRIVERS_DATABASE_VERSION); } diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 0a97cb52b36..ab966bd9f24 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -64,7 +64,7 @@ BOOL print_backend_init(void) /* handle a Samba upgrade */ tdb_lock_bystring(tdb, sversion); if (tdb_fetch_int(tdb, sversion) != PRINT_DATABASE_VERSION) { - tdb_traverse(tdb, (tdb_traverse_func)tdb_delete, NULL); + tdb_traverse(tdb, tdb_traverse_delete_fn, NULL); tdb_store_int(tdb, sversion, PRINT_DATABASE_VERSION); } tdb_unlock_bystring(tdb, sversion); diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index 57757e28b53..f37096fec3e 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -136,7 +136,7 @@ BOOL share_info_db_init(void) /* handle a Samba upgrade */ tdb_lock_bystring(share_tdb, vstring); if (tdb_fetch_int(share_tdb, vstring) != SHARE_DATABASE_VERSION) { - tdb_traverse(share_tdb, (tdb_traverse_func)tdb_delete, NULL); + tdb_traverse(share_tdb, tdb_traverse_delete_fn, NULL); tdb_store_int(share_tdb, vstring, SHARE_DATABASE_VERSION); } tdb_unlock_bystring(share_tdb, vstring); diff --git a/source3/tdb/tdbutil.c b/source3/tdb/tdbutil.c index 9e24562118f..22ead16e1fc 100644 --- a/source3/tdb/tdbutil.c +++ b/source3/tdb/tdbutil.c @@ -399,3 +399,14 @@ TDB_CONTEXT *tdb_open_log(char *name, int hash_size, int tdb_flags, return tdb; } + + +/**************************************************************************** + Allow tdb_delete to be used as a tdb_traversal_fn. +****************************************************************************/ + +int tdb_traverse_delete_fn(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, + void *state) +{ + return tdb_delete(the_tdb, key); +} -- 2.34.1