summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/g_lock.h2
-rw-r--r--source3/lib/g_lock.c10
-rw-r--r--source3/utils/net_g_lock.c8
3 files changed, 10 insertions, 10 deletions
diff --git a/source3/include/g_lock.h b/source3/include/g_lock.h
index a0d8c251dfd..c3e3a509b80 100644
--- a/source3/include/g_lock.h
+++ b/source3/include/g_lock.h
@@ -56,7 +56,7 @@ NTSTATUS g_lock_do(TDB_DATA key, enum g_lock_type lock_type,
void (*fn)(void *private_data), void *private_data);
int g_lock_locks(struct g_lock_ctx *ctx,
- int (*fn)(const char *name, void *private_data),
+ int (*fn)(TDB_DATA key, void *private_data),
void *private_data);
NTSTATUS g_lock_dump(struct g_lock_ctx *ctx, TDB_DATA key,
void (*fn)(const struct g_lock_rec *locks,
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c
index 3988cec2e3c..9ce0e062275 100644
--- a/source3/lib/g_lock.c
+++ b/source3/lib/g_lock.c
@@ -625,7 +625,7 @@ NTSTATUS g_lock_write_data(struct g_lock_ctx *ctx, TDB_DATA key,
}
struct g_lock_locks_state {
- int (*fn)(const char *name, void *private_data);
+ int (*fn)(TDB_DATA key, void *private_data);
void *private_data;
};
@@ -635,15 +635,11 @@ static int g_lock_locks_fn(struct db_record *rec, void *priv)
struct g_lock_locks_state *state = (struct g_lock_locks_state *)priv;
key = dbwrap_record_get_key(rec);
- if ((key.dsize == 0) || (key.dptr[key.dsize-1] != 0)) {
- DEBUG(1, ("invalid key in g_lock.tdb, ignoring\n"));
- return 0;
- }
- return state->fn((char *)key.dptr, state->private_data);
+ return state->fn(key, state->private_data);
}
int g_lock_locks(struct g_lock_ctx *ctx,
- int (*fn)(const char *name, void *private_data),
+ int (*fn)(TDB_DATA key, void *private_data),
void *private_data)
{
struct g_lock_locks_state state;
diff --git a/source3/utils/net_g_lock.c b/source3/utils/net_g_lock.c
index 2daa0206113..8b839d2e09f 100644
--- a/source3/utils/net_g_lock.c
+++ b/source3/utils/net_g_lock.c
@@ -154,9 +154,13 @@ done:
return ret;
}
-static int net_g_lock_locks_fn(const char *name, void *private_data)
+static int net_g_lock_locks_fn(TDB_DATA key, void *private_data)
{
- d_printf("%s\n", name);
+ if ((key.dsize == 0) || (key.dptr[key.dsize-1] != 0)) {
+ DEBUG(1, ("invalid key in g_lock.tdb, ignoring\n"));
+ return 0;
+ }
+ d_printf("%s\n", (const char *)key.dptr);
return 0;
}