Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 2003 11:54:33 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        "Jacques A. Vidrine" <nectar@FreeBSD.org>
Cc:        freebsd-arch@FreeBSD.org
Subject:   Re: __TIME_MIN/__TIME_MAX
Message-ID:  <20031115114906.L11453@gamplex.bde.org>
In-Reply-To: <20031114194119.GA94198@madman.celabo.org>
References:  <20031114194119.GA94198@madman.celabo.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031115114906.L11453>