X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ftod.c;h=9aa845c822b706596a3653ecd0450de460f7213a;hb=b1b05573117d62c3b95d854d8ac5a447df19e82e;hp=2077111703deb842e067ce2d07c8973b85b49a42;hpb=f1e5fef536bdc2c5d84c4bc7852d6e948253ccaf;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/tod.c b/src/src/tod.c index 207711170..9aa845c82 100644 --- a/src/src/tod.c +++ b/src/src/tod.c @@ -1,5 +1,3 @@ -/* $Cambridge: exim/src/src/tod.c,v 1.5 2009/11/16 19:50:37 nm4 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ @@ -36,6 +34,7 @@ option. Argument: type of timestamp required: tod_bsdin BSD inbox format tod_epoch Unix epoch format + tod_epochl Unix epoch/usec format tod_full full date and time tod_log log file data line format, with zone if log_timezone is TRUE @@ -53,9 +52,19 @@ Returns: pointer to fixed buffer containing the timestamp uschar * tod_stamp(int type) { -time_t now = time(NULL); +time_t now; struct tm *t; +if (type == tod_epoch_l) + { + struct timeval tv; + gettimeofday(&tv, NULL); + (void) sprintf(CS timebuf, "%ld%06ld", tv.tv_sec, tv.tv_usec ); /* Unix epoch/usec format */ + return timebuf; + } + +now = time(NULL); + /* Vary log type according to timezone requirement */ if (type == tod_log) type = log_timezone? tod_log_zone : tod_log_bare;