tzcode2007h.tar.gz - Functions defined with prototypes and C99 features?

Paul Eggert eggert at CS.UCLA.EDU
Tue Nov 6 17:25:15 UTC 2007

"Jonathan Leffler" <jonathan.leffler at> writes:

> Is there actually a good reason not to write the whole library with ISO
> prototypes?

Not these days, no.  Every practical C compiler supports prototypes
nowadays.  I think that stuff is now pedantic only, meant as
illustration, to port back to ancient K&R compilers.

As long as we're being pedantic, it might be worth mentioning that the
current approach is not portable to arbitrary standard C platforms,
since it assumes that time_t is at least as wide as int.  C does not
allow this:

static int differ_by_repeat(time_t t1, time_t t0);

static int
differ_by_repeat(t1, t0)
const time_t    t1;
const time_t    t0;
{ ... }

when time_t is of type 'short', say.  (This is only a pedantic point
as well, of course; nobody defines time_t to be that narrow.)

More information about the tz mailing list