On 8/3/19 10:17 am, Andrew Gregory wrote: > On 03/04/19 at 04:46pm, Florian Wehner wrote: >> The time logged is currently given as localtime without any time-zone >> information. This is confusing in various scenarios. >> >> Examples: >> * If one is travelling across time-zones and the timestamps in the log >> appear out of order. >> * Comparing dates with `datediff` gives an offset by the time-zone >> >> This patch would reformat the time-stamp to a full ISO-8601 version. >> It includes the 'T' separating date and time. This could be removed. >> >> Old: [2019-03-04 16:15] >> New: [2019-03-04T16:15-05:00] >> >> Signed-off-by: Florian Wehner <[email protected]> >> --- >> lib/libalpm/log.c | 10 ++++++++-- >> 1 file changed, 8 insertions(+), 2 deletions(-) >> >> diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c >> index e46ad3c3..cf869a08 100644 >> --- a/lib/libalpm/log.c >> +++ b/lib/libalpm/log.c >> @@ -20,6 +20,7 @@ >> >> #include <stdio.h> >> #include <stdarg.h> >> +#include <stdlib.h> >> #include <errno.h> >> #include <syslog.h> >> >> @@ -37,12 +38,17 @@ >> static int _alpm_log_leader(FILE *f, const char *prefix) >> { >> time_t t = time(NULL); >> + int tz_h, tz_m; >> struct tm *tm = localtime(&t); >> >> + /* Calculate the timezone offset ±hh:mm */ >> + tz_h = tm->tm_gmtoff/3600; >> + tz_m = abs(tm->tm_gmtoff - (tz_h*3600))/60; > > What is tm_gmtoff? I can't find any mention of it in any > documentation. >
The tm_gmtoff field is derived from BSD and is a GNU library extension; So we can't use that. Allan
