The branch, master has been updated via 8e894d8baf20a455b50c5c1b1ac0540d9e766c5d (commit) from a63825e32658b36e0964584758b9a276c18056b8 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 8e894d8baf20a455b50c5c1b1ac0540d9e766c5d Author: Ronnie Sahlberg <[EMAIL PROTECTED]> Date: Wed Apr 23 21:49:52 2008 +1000 make 'ctdb catdb' produce output that resembles the output of tdbdump ----------------------------------------------------------------------- Summary of changes: client/ctdb_client.c | 28 +++++++++++++++++++++------- 1 files changed, 21 insertions(+), 7 deletions(-) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index f852e5f..395d2d7 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -1839,19 +1839,33 @@ int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void * */ static int dumpdb_fn(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p) { + int i; FILE *f = (FILE *)p; - char *keystr, *datastr; struct ctdb_ltdb_header *h = (struct ctdb_ltdb_header *)data.dptr; - keystr = hex_encode_talloc(ctdb, key.dptr, key.dsize); - datastr = hex_encode_talloc(ctdb, data.dptr+sizeof(*h), data.dsize-sizeof(*h)); - fprintf(f, "dmaster: %u\n", h->dmaster); fprintf(f, "rsn: %llu\n", (unsigned long long)h->rsn); - fprintf(f, "key: %s\ndata: %s\n", keystr, datastr); - talloc_free(keystr); - talloc_free(datastr); + fprintf(f, "key(%d) = \"", key.dsize); + for (i=0;i<key.dsize;i++) { + if (isascii(key.dptr[i])) { + fprintf(f, "%c", key.dptr[i]); + } else { + fprintf(f, "\\%02X", key.dptr[i]); + } + } + fprintf(f, "\"\n"); + + fprintf(f, "data(%d) = \"", data.dsize); + for (i=sizeof(*h);i<data.dsize;i++) { + if (isascii(data.dptr[i])) { + fprintf(f, "%c", data.dptr[i]); + } else { + fprintf(f, "\\%02X", data.dptr[i]); + } + } + fprintf(f, "\"\n"); + return 0; } -- CTDB repository