From: Howard Chu Date: Tue, 4 Aug 2015 12:24:52 +0000 (+0100) Subject: Avoid hex timestamp in middle of lines X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=94ddee1bcace74b8abb680dfb5fb8a89b4631f7a;p=openldap Avoid hex timestamp in middle of lines Tweaks commit 8d74f717ff8390e5ba611b170d8cf4b427e59114 Don't worry about threading/race conditions here, it's not important --- 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 );