FW: Definition of time_t changed from signed to unsigned...
eggert at CS.UCLA.EDU
Tue Jul 13 05:01:50 UTC 2004
> From: Chris Richards [mailto:cj_richards at hotmail.com]
> Sent: Friday, July 09, 2004 9:53 AM
> The problem is that the timezone subsystem seems to expect time_t to be
> signed. There are a number of functions that only work if time_t is signed.
> E.g. function localsub() in file localtime.c.
It's not immediately obvious to me why localsub itself assumes that
time_t is signed, but I'll take your word for it. I do know that
tzcode won't work well with 64-bit (signed) time_t.
> My question is: am I just using an obsolete version of the timezone source
> or should I just change the time_t typedef in the OS?
If it's at ftp://elsie.nci.nih.gov/pub/ then it's the latest source.
My advice is to keep time_t signed. Lots of applications assume that
time_t is signed, and will break otherwise. POSIX doesn't require
time_t to be signed (it's even allowed to be floating point!) but
implementations specify an unsigned time_t at their peril.
More information about the tz