summaryrefslogtreecommitdiffstats
path: root/ctdb/client
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2011-11-28 17:11:16 +0100
committerMichael Adam <obnox@samba.org>2011-11-29 10:30:24 +0100
commit1fcc7651f48f228d7b70f0326775947da37f79b2 (patch)
treea883a7ca5dad056e90c4f8f43d126387a4e88410 /ctdb/client
parent554d68df601208430517cac7621ddcf825ccb924 (diff)
downloadsamba-1fcc7651f48f228d7b70f0326775947da37f79b2.tar.gz
samba-1fcc7651f48f228d7b70f0326775947da37f79b2.tar.xz
samba-1fcc7651f48f228d7b70f0326775947da37f79b2.zip
ctdb: add an option --print-emptyrecords to enable printing of empty records in dumping databases
this option is used with the commands catdb, cattdb and dumpdbbackup. (This used to be ctdb commit 6ec68a2e667f66d2b194fe48cb75229a2777842e)
Diffstat (limited to 'ctdb/client')
-rw-r--r--ctdb/client/ctdb_client.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c
index 0fb6a4407cd..72c938da9ff 100644
--- a/ctdb/client/ctdb_client.c
+++ b/ctdb/client/ctdb_client.c
@@ -2125,7 +2125,8 @@ int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void *
int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p)
{
int i;
- FILE *f = (FILE *)p;
+ struct ctdb_dump_db_context *c = (struct ctdb_dump_db_context *)p;
+ FILE *f = c->f;
struct ctdb_ltdb_header *h = (struct ctdb_ltdb_header *)data.dptr;
fprintf(f, "key(%u) = \"", (unsigned)key.dsize);
@@ -2168,9 +2169,11 @@ int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, v
/*
convenience function to list all keys to stdout
*/
-int ctdb_dump_db(struct ctdb_db_context *ctdb_db, FILE *f)
+int ctdb_dump_db(struct ctdb_db_context *ctdb_db,
+ struct ctdb_dump_db_context *ctx)
{
- return ctdb_traverse(ctdb_db, ctdb_dumpdb_record, f);
+ return ctdb_traverse_ext(ctdb_db, ctdb_dumpdb_record,
+ ctx->printemptyrecords, ctx);
}
/*