__TIME_MIN/__TIME_MAX

Bruce Evans bde at zeta.org.au
Fri Nov 14 16:54:38 PST 2003


On Fri, 14 Nov 2003, Jacques A. Vidrine wrote:

> In at least one place in libc, it is necessary to range check a time_t
> value.  One most platforms, time_t has the same range as `int', but
> on at least amd64, it has a larger range.  Any objections to adding
> definitions of __TIME_MIN and __TIME_MAX to sys/${arch}/_limits.h?
>
> I could just do the usual check for lossage after casting, except that
> in theory time_t could be a floating-point value (but not in reality
> in FreeBSD).  It seems cleaner to me to have an explicit range.

I prefer the cast.  It doesn't require nonstandard infrastructure that
would need to be maintained forever, and works even better for floating
point too (assuming a C99 compiler, but not in reality in FreeBSD :)
(min/max checks don't work right for floating point because precision
may be just as important as range).

Bruce


More information about the freebsd-arch mailing list