X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fdebug.c;h=8bf4aedd9e2c7b79fb99b83af7c5827460cdc92a;hb=b47584259a53dcd166b923520a3ba7d8df0eb5bc;hp=e3d43641bf7f9851b9089a53265612a0f40c1a0f;hpb=c988f1f4faa9f679f79beddf3c14676c5dcb8e28;p=exim.git diff --git a/src/src/debug.c b/src/src/debug.c index e3d43641b..8bf4aedd9 100644 --- a/src/src/debug.c +++ b/src/src/debug.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/debug.c,v 1.3 2005/01/04 10:00:42 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* Copyright (c) University of Cambridge 1995 - 2015 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -77,7 +75,7 @@ Returns: nothing */ void -debug_print_argv(uschar **argv) +debug_print_argv(const uschar ** argv) { debug_printf("exec"); while (*argv != NULL) debug_printf(" %.256s", *argv++); @@ -148,7 +146,7 @@ get interleaved. Since some calls to debug_printf() don't end with newline, we save up the text until we do get the newline. */ void -debug_printf(char *format, ...) +debug_printf(const char *format, ...) { va_list ap; va_start(ap, format); @@ -157,18 +155,23 @@ va_end(ap); } void -debug_vprintf(char *format, va_list ap) +debug_vprintf(const char *format, va_list ap) { if (debug_file == NULL) return; -/* Various things can be inserted at the start of a line. */ +/* Various things can be inserted at the start of a line. Don't use the +tod_stamp() function for the timestamp, because that will overwrite the +timestamp buffer, which may contain something useful. (This was a bug fix: the ++memory debugging with +timestamp did cause a problem.) */ if (debug_ptr == debug_buffer) { DEBUG(D_timestamp) { - uschar *ts = tod_stamp(tod_log_bare); - sprintf(CS debug_ptr, "%s ", ts + 11); + time_t now = time(NULL); + struct tm *t = timestamps_utc? gmtime(&now) : localtime(&now); + (void) sprintf(CS debug_ptr, "%02d:%02d:%02d ", t->tm_hour, t->tm_min, + t->tm_sec); while(*debug_ptr != 0) debug_ptr++; }