From f26355f247709f0150028ec48df7d3f2af463423 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 20 Jul 2009 22:25:46 +0930 Subject: [PATCH] Speed up tracing by factor of 4-6, by writing less stupid code. --- ccan/tdb/tdb.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ccan/tdb/tdb.c b/ccan/tdb/tdb.c index 3acf05b9..c44987a1 100644 --- a/ccan/tdb/tdb.c +++ b/ccan/tdb/tdb.c @@ -874,7 +874,7 @@ static void tdb_trace_end_ret(struct tdb_context *tdb, int ret) static void tdb_trace_record(struct tdb_context *tdb, TDB_DATA rec) { - char msg[20]; + char msg[20 + rec.dsize*2], *p; unsigned int i; /* We differentiate zero-length records from non-existent ones. */ @@ -882,12 +882,13 @@ static void tdb_trace_record(struct tdb_context *tdb, TDB_DATA rec) tdb_trace_write(tdb, " NULL"); return; } - sprintf(msg, " %zu:", rec.dsize); + + p = msg; + p += sprintf(p, " %zu:", rec.dsize); + for (i = 0; i < rec.dsize; i++) + p += sprintf(p, "%02x", rec.dptr[i]); + tdb_trace_write(tdb, msg); - for (i = 0; i < rec.dsize; i++) { - sprintf(msg, "%02x", rec.dptr[i]); - tdb_trace_write(tdb, msg); - } } void tdb_trace(struct tdb_context *tdb, const char *op) -- 2.39.2