From 3f28bac304829b36c40fc68d48446dc956aa9200 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 4 Aug 2015 13:24:52 +0100 Subject: [PATCH] Avoid hex timestamp in middle of lines Tweaks commit 8d74f717ff8390e5ba611b170d8cf4b427e59114 Don't worry about threading/race conditions here, it's not important --- libraries/liblber/debug.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/liblber/debug.c b/libraries/liblber/debug.c index 6e5694a0c4..dfe4b48aed 100644 --- a/libraries/liblber/debug.c +++ b/libraries/liblber/debug.c @@ -33,6 +33,7 @@ #include "ldap_pvt.h" static FILE *log_file = NULL; +static int debug_lastc = '\n'; int lutil_debug_file( FILE *file ) { @@ -46,6 +47,7 @@ void (lutil_debug)( int debug, int level, const char *fmt, ... ) { char buffer[4096]; va_list vl; + int len, off; if ( !(level & debug ) ) return; @@ -62,9 +64,17 @@ void (lutil_debug)( int debug, int level, const char *fmt, ... ) } #endif - sprintf(buffer, "%08x ", (unsigned) time(0L)); + if (debug_lastc == '\n') { + sprintf(buffer, "%08x ", (unsigned) time(0L)); + off = 9; + } else { + off = 0; + } va_start( vl, fmt ); - vsnprintf( buffer+9, sizeof(buffer)-9, fmt, vl ); + len = vsnprintf( buffer+off, sizeof(buffer)-off, fmt, vl ); + if (len > sizeof(buffer)-off) + len = sizeof(buffer)-off; + debug_lastc = buffer[len+off-1]; buffer[sizeof(buffer)-1] = '\0'; if( log_file != NULL ) { fputs( buffer, log_file ); -- 2.39.5