On 2013-01-31 at 14:20 +0700, Robert Elz wrote:
Given that, the changes that struct tm will be altered, any time in the next half billion years or so, seems very very slight to me. Which suggests that the right thing to do isn't to worry about localtime() sometimes returning NULL, but rather handle it better in zdump(), and have it perhaps print "some time so long ago we cannot represent it" (or similar, and with a similar message for big positive times).
Or, change the specification for zdump, since anything relying on the currently specified behaviour is already broken? """ For this purposes of this dump, the lowest and highest possible time values will be bound by time_t if time_t is 32-bit. If time_t is 64-bit or float, then they will be bound by the representable values of the type of tm_year in a struct tm. """ If nothing else, after people stop laughing at the years, it might nudge people to think about the Y10K problem and how they parse years. ;) Who knows, 2% of all date-handling code out there might become more robust. -Phil