[tz] Java & Rearguard
Jonathan Lennox
lennox at cs.columbia.edu
Tue Jun 4 20:10:18 UTC 2019
On Tuesday, June 4 2019, "Guy Harris" wrote to "Steve Summit, tz at iana.org" saying:
> BTW, what happens on a system that *does* have them if you:
>
> call localtime()/localtime_r();
>
> set the TZ environment variable in your program to a new value and call tzset();
>
> try to use the tm_zone string from the previous localtime()/localtime_r() call?
>
> Is the tm_zone string guaranteed to survive the tzset() call?
No, its value becomes undefined.
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/functions/strftime.html :
If a struct tm broken-down time structure is created by localtime() or
localtime_r(), or modified by mktime(), and the value of TZ is subsequently
modified, the results of the %Z and %z strftime() conversion specifiers are
undefined, when strftime() is called with such a broken-down time structure.
This was specifically written to allow the behavior where strftime's %Z
substitutes tm->tm_zone.
--
Jonathan Lennox
lennox at cs.columbia.edu
More information about the tz
mailing list