summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-11-14 10:46:27 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-11-14 10:46:27 +0000
commitd7ffbc127584135dbcd60869217aa7f3d45dcf70 (patch)
tree080261d01ad16c8adf82cc281116016ac7a38b18 /src
parent82c19f950c446354c9ef100e0f938ec61db25010 (diff)
Stop debug+timestamp using the common timestamp buffer, because it can
interfere with data that's already in there.
Diffstat (limited to 'src')
-rw-r--r--src/src/debug.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/src/debug.c b/src/src/debug.c
index e3d43641b..59345d210 100644
--- a/src/src/debug.c
+++ b/src/src/debug.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/debug.c,v 1.3 2005/01/04 10:00:42 ph10 Exp $ */
+/* $Cambridge: exim/src/src/debug.c,v 1.4 2005/11/14 10:46:27 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -161,14 +161,19 @@ debug_vprintf(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++;
}