Subject: Re: standards/21722: ISO-C conforming use of struct tm can crash
To: Simon Burge <simonb@wasabisystems.com>
From: Richard Earnshaw <rearnsha@arm.com>
List: netbsd-bugs
Date: 05/30/2003 15:28:42
> One `fix' would be to ignore (struct tm)->tm_zone when processing 'Z'
> (ie, just remove the #ifdef TM_ZONE/#endif block in strftime.c) and use
> only tzname[].  I think we can also use the timezone variable for 'z'
> as well.
> 
> I don't know if this is the best way to fix this problem :-)
> 

There's already code in strftime.c to handle the case when TM_ZONE is not 
defined.  Similarly for TM_GMTOFF.  IMO we should be using that code 
instead of assuming that the non-standard fields have been filled in.  
Only interfaces that aren't part of ISO-C should be accessing the extended 
fields (strftime may also do so, but only when processing a modifier that 
isn't part of ISO C; neither %z nor %Z fall into that category).

R.