C Code for draft-newman-datetime-00.txt

Tom Peterson (USG) tomp at zk3.dec.com
Thu Jan 16 14:28:07 UTC 1997


> > > ¤ Comparing t with 0 doesn't take any sense (I know one system where
> > > ¤ (time_t)0 is J2000,0, so negative t are allowed before 2000-01-01 12:00:00Z
> > 
> > Ok, you are right. I just hope that the system you know does not encode
> > 
> >   2000-01-01 11:59:59Z = (time_t) -1
> > 
> > as this value is reserved by the standard for error conditions.
>
> A problematical situation on any implementation is distinguishing
> between an error return from mktime() and mktime() returning a
> legitimate -1 value.  Another unpleasantness of the API.  But this
> is the only place besides time() where the C standard has a function
> returning a time_t, and time() is not defined to have an error return.

An error code (or errno) would help here I think.  If errno were set to a 
particular value when mktime() really couldn't represent the value, we'd have 
a way to distinguish between a valid -1 and and error -1 return value.  
Problem is, we'd have trouble getting the standards like X/Open to accept 
this, since they claim they don't support negative time_t's (ie: times before 
the Epoch).

- Tom





More information about the tz mailing list