| Index: source/tools/tzcode/tzfile.h
|
| diff --git a/source/tools/tzcode/tzfile.h b/source/tools/tzcode/tzfile.h
|
| index 3a9eee305a53cc7bea4c9abb390a631b6fd16e76..911130eb939a1abe95470616dad6675ecbaf40f0 100644
|
| --- a/source/tools/tzcode/tzfile.h
|
| +++ b/source/tools/tzcode/tzfile.h
|
| @@ -16,16 +16,6 @@
|
| */
|
|
|
| /*
|
| -** ID
|
| -*/
|
| -
|
| -#ifndef lint
|
| -#ifndef NOID
|
| -static char tzfilehid[] = "@(#)tzfile.h 8.1";
|
| -#endif /* !defined NOID */
|
| -#endif /* !defined lint */
|
| -
|
| -/*
|
| ** Information about time zone files.
|
| */
|
|
|
| @@ -49,7 +39,7 @@ static char tzfilehid[] = "@(#)tzfile.h 8.1";
|
|
|
| struct tzhead {
|
| char tzh_magic[4]; /* TZ_MAGIC */
|
| - char tzh_version[1]; /* '\0' or '2' as of 2005 */
|
| + char tzh_version[1]; /* '\0' or '2' or '3' as of 2013 */
|
| char tzh_reserved[15]; /* reserved--must be zero */
|
| char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */
|
| char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */
|
| @@ -65,7 +55,7 @@ struct tzhead {
|
| ** tzh_timecnt (char [4])s coded transition times a la time(2)
|
| ** tzh_timecnt (unsigned char)s types of local time starting at above
|
| ** tzh_typecnt repetitions of
|
| -** one (char [4]) coded UTC offset in seconds
|
| +** one (char [4]) coded UT offset in seconds
|
| ** one (unsigned char) used to set tm_isdst
|
| ** one (unsigned char) that's an abbreviation list index
|
| ** tzh_charcnt (char)s '\0'-terminated zone abbreviations
|
| @@ -78,7 +68,7 @@ struct tzhead {
|
| ** if absent, transition times are
|
| ** assumed to be wall clock time
|
| ** tzh_ttisgmtcnt (char)s indexed by type; if TRUE, transition
|
| -** time is UTC, if FALSE,
|
| +** time is UT, if FALSE,
|
| ** transition time is local time
|
| ** if absent, transition times are
|
| ** assumed to be local time
|
| @@ -92,6 +82,13 @@ struct tzhead {
|
| ** instants after the last transition time stored in the file
|
| ** (with nothing between the newlines if there is no POSIX representation for
|
| ** such instants).
|
| +**
|
| +** If tz_version is '3' or greater, the above is extended as follows.
|
| +** First, the POSIX TZ string's hour offset may range from -167
|
| +** through 167 as compared to the POSIX-required 0 through 24.
|
| +** Second, its DST start time may be January 1 at 00:00 and its stop
|
| +** time December 31 at 24:00 plus the difference between DST and
|
| +** standard time, indicating DST all year.
|
| */
|
|
|
| /*
|
| @@ -100,20 +97,12 @@ struct tzhead {
|
| */
|
|
|
| #ifndef TZ_MAX_TIMES
|
| -#define TZ_MAX_TIMES 1200
|
| +#define TZ_MAX_TIMES 2000
|
| #endif /* !defined TZ_MAX_TIMES */
|
|
|
| #ifndef TZ_MAX_TYPES
|
| -#ifndef NOSOLAR
|
| +/* This must be at least 17 for Europe/Samara and Europe/Vilnius. */
|
| #define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */
|
| -#endif /* !defined NOSOLAR */
|
| -#ifdef NOSOLAR
|
| -/*
|
| -** Must be at least 14 for Europe/Riga as of Jan 12 1995,
|
| -** as noted by Earl Chew.
|
| -*/
|
| -#define TZ_MAX_TYPES 20 /* Maximum number of local time types */
|
| -#endif /* !defined NOSOLAR */
|
| #endif /* !defined TZ_MAX_TYPES */
|
|
|
| #ifndef TZ_MAX_CHARS
|
| @@ -132,7 +121,7 @@ struct tzhead {
|
| #define DAYSPERNYEAR 365
|
| #define DAYSPERLYEAR 366
|
| #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
|
| -#define SECSPERDAY ((long) SECSPERHOUR * HOURSPERDAY)
|
| +#define SECSPERDAY ((int_fast32_t) SECSPERHOUR * HOURSPERDAY)
|
| #define MONSPERYEAR 12
|
|
|
| #define TM_SUNDAY 0
|
|
|