FW: Definition of time_t changed from signed to unsigned...
Clive D.W. Feather
clive at demon.net
Mon Jul 19 08:38:10 UTC 2004
Guy Harris said:
> o time_t and clock_t shall be integer or real-floating types.
> I infer from "size_t shall be an unsigned integer type" that "integer
> type" means "signed integer type" as opposed to "unsigned integer type";
WRONG.
"signed integer type" means signed integer type.
"integer type" means integer type, which can be signed, unsigned, or
neither. [Read the C Standard if "neither" is unclear.]
> if that inference is correct, use of "unsigned long" would violate the
> SUS.
It's wrong, and there is no such violation.
>> 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 you can, I'd change the time_t typedef in the OS.
Changing an OS-supplied definition is EXTREMELY DUMB. You're risking
breaking the OS interfaces.
If the tz code needs a signed type, it should invent its own name for it
and change all the definitions. If it needs the actual time_t type, then
the code should not be making assumptions about signedness or number of
bits.
--
Clive D.W. Feather | Work: <clive at demon.net> | Tel: +44 20 8495 6138
Internet Expert | Home: <clive at davros.org> | Fax: +44 870 051 9937
Demon Internet | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc | |
More information about the tz
mailing list