X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d7d7b7b91dd75cec636fc144da7e27eed860f971..3634fc257bd0667daef14d72005cd87c735bbb24:/src/src/tod.c diff --git a/src/src/tod.c b/src/src/tod.c index fb99a8991..c6afb713e 100644 --- a/src/src/tod.c +++ b/src/src/tod.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/tod.c,v 1.3 2006/02/07 11:19:00 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2006 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ /* A function for returning the time of day in various formats */ @@ -34,17 +32,18 @@ a leading zero for the full stamp, since Ustrftime() doesn't provide this option. Argument: type of timestamp required: - tod_bsdin BSD inbox format - tod_epoch Unix epoch format - tod_full full date and time - tod_log log file data line format, - with zone if log_timezone is TRUE - tod_log_bare always without zone - tod_log_datestamp for log file names when datestamped - tod_log_zone always with zone - tod_mbx MBX inbox format - tod_zone just the timezone offset - tod_zulu time in 8601 zulu format + tod_bsdin BSD inbox format + tod_epoch Unix epoch format + tod_full full date and time + tod_log log file data line format, + with zone if log_timezone is TRUE + tod_log_bare always without zone + tod_log_datestamp_daily for log file names when datestamped daily + tod_log_datestamp_monthly for log file names when datestamped monthly + tod_log_zone always with zone + tod_mbx MBX inbox format + tod_zone just the timezone offset + tod_zulu time in 8601 zulu format Returns: pointer to fixed buffer containing the timestamp */ @@ -91,16 +90,25 @@ switch(type) /* Format used as suffix of log file name when 'log_datestamp' is active. For testing purposes, it changes the file every second. */ - case tod_log_datestamp: #ifdef TESTING_LOG_DATESTAMP + case tod_log_datestamp_daily: + case tod_log_datestamp_monthly: (void) sprintf(CS timebuf, "%04d%02d%02d%02d%02d", 1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min); + break; + #else + case tod_log_datestamp_daily: (void) sprintf(CS timebuf, "%04d%02d%02d", 1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday); - #endif break; + case tod_log_datestamp_monthly: + (void) sprintf(CS timebuf, "%04d%02d", + 1900 + t->tm_year, 1 + t->tm_mon); + break; + #endif + /* Format used in BSD inbox separator lines. Sort-of documented in RFC 976 ("UUCP Mail Interchange Format Standard") but only by example, not by explicit definition. The examples show no timezone offsets, and some MUAs