summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-01-03 22:48:36 +0000
committerJeremy Allison <jra@samba.org>2002-01-03 22:48:36 +0000
commit3de3ac380bceb04ebf432919168ccfaeb8c00d04 (patch)
tree5361b3d7e2e6a7e14d0139a69668f46a2bd2d14e
parent86c1383cb2b1567cc77f53cdddfb8f5fcea481b7 (diff)
downloadsamba-3de3ac380bceb04ebf432919168ccfaeb8c00d04.tar.gz
samba-3de3ac380bceb04ebf432919168ccfaeb8c00d04.tar.xz
samba-3de3ac380bceb04ebf432919168ccfaeb8c00d04.zip
Fixed nasty cast of tdb_delete in traversals.
Jeremy.
-rw-r--r--source/include/proto.h2
-rw-r--r--source/printing/nt_printing.c2
-rw-r--r--source/printing/printing.c2
-rw-r--r--source/rpc_server/srv_srvsvc_nt.c2
-rw-r--r--source/tdb/tdbutil.c11
5 files changed, 16 insertions, 3 deletions
diff --git a/source/include/proto.h b/source/include/proto.h
index a0b18f9608f..a7d2ef95d1f 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -4726,6 +4726,8 @@ size_t tdb_pack(char *buf, int bufsize, char *fmt, ...);
int tdb_unpack(char *buf, int bufsize, char *fmt, ...);
TDB_CONTEXT *tdb_open_log(char *name, int hash_size, int tdb_flags,
int open_flags, mode_t mode);
+int tdb_traverse_delete_fn(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf,
+ void *state);
/*The following definitions come from utils/nbio.c */
diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c
index 7a0870555e5..4131c5bfd5c 100644
--- a/source/printing/nt_printing.c
+++ b/source/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/source/printing/printing.c b/source/printing/printing.c
index df2dbd252e7..ded9199cec0 100644
--- a/source/printing/printing.c
+++ b/source/printing/printing.c
@@ -65,7 +65,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/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c
index de12df985c9..ead0c6a16c6 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/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/source/tdb/tdbutil.c b/source/tdb/tdbutil.c
index 80a656e432b..6471f774ee4 100644
--- a/source/tdb/tdbutil.c
+++ b/source/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);
+}