+
+#ifdef TDB_TRACE
+#include <stdarg.h>
+
+void tdb_trace(const struct tdb_context *tdb, const char *fmt, ...)
+{
+ char msg[256];
+ va_list args;
+ int len;
+
+ va_start(args, fmt);
+ len = vsprintf(msg, fmt, args);
+ va_end(args);
+
+ write(tdb->tracefd, msg, len);
+}
+
+void tdb_trace_record(const struct tdb_context *tdb, TDB_DATA rec)
+{
+ char msg[20];
+ unsigned int i;
+
+ write(tdb->tracefd, msg, sprintf(msg, "%zu:", rec.dsize));
+ for (i = 0; i < rec.dsize; i++)
+ write(tdb->tracefd, msg, sprintf(msg, "%02x", rec.dptr[i]));
+ write(tdb->tracefd, " ", 1);
+}
+#endif