[tz] Handling of uninitialized tm_gmtoff and tm_zone
eggert at cs.ucla.edu
Thu Oct 2 23:00:17 UTC 2014
random832 at fastmail.us wrote:
> It is possible that mktime, strftime, etc?, may be called with a struct
> tm that has not had non-standard members initialized. How does tzcode
> deal with these cases? (It_looks_ like strftime handles it badly; I
> can't figure out what, if anything, the mktime implementation does with
> these members).
Do you have specific uses in mind?
In general, common practice often disagrees with a strict (perhaps overly
strict?) reading of the standards here. For example, glibc strftime also
handles %Z "badly" in the sense that if a program calls strftime %Z with a
struct tm that has not had tm_zone initialized properly, undefined behavior
results. In practice people seem to prefer glibc's behavior (which often
results in more-accurate %Z output), and I'm inclined to think it's more a bug
or lack-of-clarity in the standards than a bug in the implementations.
More information about the tz