timezone stuff on 64 bit machines

Arthur David Olson ado
Wed Oct 18 21:23:47 UTC 1995


> It fixed that problem form my point of view -- meaning it comes out
> of that loop. Now there's a hang in outzone() in zic.c. At line 1439
> it loops over every year once again.

Here the solution may be in the "setboundaries" code in "zic.c".
Since time zone files only encode four characters (32 bits) worth of time_t
values, min_time and max_time (and min_year and max_year) might be limited.

A cheap way to hot-wire things for testing purposes is to add the lines
	min_time = 0;
	max_time = 0x7fffffffL;
just above the
	min_year = TM_YEAR_BASE + gmtime(&min_time)->tm_year;
	max_year = TM_YEAR_BASE + gmtime(&max_time)->tm_year;
lines in "setboundaries"

This begs the question of whether the format of time zone files would need to
be changed to allow for 64-bit time_t values (with attendant interoperability
considerations).

				--ado



More information about the tz mailing list