On Wed, Apr 20, 2022 at 03:00:15PM +0200, Theo Buehler wrote: > Found this when looking at the timezone issue a couple of weeks back and > then forgot about it: > > This setenv() + localtime() looks like a hack to me and I don't really > understand why it should be preferable over using gmtime() directly. The > only change in output that I can see is that it causes %Z to print GMT > instead of UTC, so I modified the format string accordingly (but I have > no strong opinion on this).
UTC is the proper timezone here. Not sure why gmtime results in %Z to return GMT since gmtime converts into UTC. On the other hand timezones in struct tm are strange so it probably just defaults to GMT for a 0 offset time. > Index: output.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/output.c,v > retrieving revision 1.25 > diff -u -p -r1.25 output.c > --- output.c 19 Apr 2022 13:52:24 -0000 1.25 > +++ output.c 19 Apr 2022 15:55:44 -0000 > @@ -204,9 +204,8 @@ outputheader(FILE *out, struct stats *st > int i; > > time(&t); > - setenv("TZ", "UTC", 1); > - tp = localtime(&t); > - strftime(tbuf, sizeof tbuf, "%a %b %e %H:%M:%S %Z %Y", tp); > + tp = gmtime(&t); > + strftime(tbuf, sizeof tbuf, "%a %b %e %H:%M:%S UTC %Y", tp); > > gethostname(hn, sizeof hn); > > Index: output-json.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/output-json.c,v > retrieving revision 1.24 > diff -u -p -r1.24 output-json.c > --- output-json.c 19 Apr 2022 13:52:24 -0000 1.24 > +++ output-json.c 19 Apr 2022 14:18:04 -0000 > @@ -31,8 +31,7 @@ outputheader_json(FILE *out, struct stat > int i; > > time(&t); > - setenv("TZ", "UTC", 1); > - tp = localtime(&t); > + tp = gmtime(&t); > strftime(tbuf, sizeof tbuf, "%FT%TZ", tp); > > gethostname(hn, sizeof hn); > OK claudio@ -- :wq Claudio