mirror of
https://github.com/postgres/postgres.git
synced 2025-11-18 02:02:55 +03:00
Sync our copy of the timezone library with IANA release tzcode2018f.
About half of this is purely cosmetic changes to reduce the diff between our code and theirs, like inserting "const" markers where they have them. The other half is tracking actual code changes in zic.c and localtime.c. I don't think any of these represent near-term compatibility hazards, but it seems best to stay up to date. I also fixed longstanding bugs in our code for producing the known_abbrevs.txt list, which by chance hadn't been exposed before, but which resulted in some garbage output after applying the upstream changes in zic.c. Notably, because upstream removed their old phony transitions at the Big Bang, it's now necessary to cope with TZif files containing no DST transition times at all.
This commit is contained in:
@@ -49,10 +49,16 @@ struct state
|
||||
pg_time_t ats[TZ_MAX_TIMES];
|
||||
unsigned char types[TZ_MAX_TIMES];
|
||||
struct ttinfo ttis[TZ_MAX_TYPES];
|
||||
char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 3 /* sizeof gmt */ ),
|
||||
char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 4 /* sizeof gmt */ ),
|
||||
(2 * (TZ_STRLEN_MAX + 1)))];
|
||||
struct lsinfo lsis[TZ_MAX_LEAPS];
|
||||
int defaulttype; /* for early times or if no transitions */
|
||||
|
||||
/*
|
||||
* The time type to use for early times or if no transitions. It is always
|
||||
* zero for recent tzdb releases. It might be nonzero for data from tzdb
|
||||
* 2018e or earlier.
|
||||
*/
|
||||
int defaulttype;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user