X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsrc%2Ftod.c;h=c6afb713eb2bd1706e9100ebe8d0d9c6d8d27583;hb=0a3df1d651b9e11c7c91bf095aebaf8c65d6c276;hp=406ea40b71b8ae6581526878209e18d81cd06ca5;hpb=059ec3d9952740285fb1ebf47961b8aca2eb1b4a;p=exim.git diff --git a/src/src/tod.c b/src/src/tod.c index 406ea40b7..c6afb713e 100644 --- a/src/src/tod.c +++ b/src/src/tod.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/tod.c,v 1.1 2004/10/07 10:39:01 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2004 */ +/* 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