mirror of
https://frontier.innolan.net/rainlance/amiga-tz.git
synced 2026-05-06 16:58:22 +00:00
zic: work around GNOME bug by refusing to go back before the Big Bang
This works around Gnome bug 730332 <https://bugzilla.gnome.org/show_bug.cgi?id=730332>. zic 2014c introduced the idea of generating a transition at the minimum time value -2**63, to avoid ambiguities about what to do before the first real transition. Through Glib release 2.40, the interval_end function of Glib's gtimezone.c subtracts one from this, to find the end time of the zeroth interval (i.e., the interval containing all the "early" time stamps); this subtraction typically overflows and wraps around to 2**63 - 1, which causes Glib to go off the rails and assume that all time stamps are "early". For example, Glib computes Sao Paulo time stamps as if Brazil's circa-1913 rules were still in effect. (Thanks to Leonardo Chiquitto for reporting the bug.) Work around the bug by not generating time stamps equal to -2**63. Come to think of it, time stamps before the Big Bang are physically suspect anyway, so don't generate time stamps before the Big Bang. * Makefile (GCC_DEBUG_FLAGS): Add comment re BIG_BANG. * NEWS, zic.8 (NOTES): Document this. * zic.c (BIG_BANG): New macro. (big_bang_time): New constant. (writezone, outzone, addtt): Compare to big_bang_time, not to min_time, when deciding whether to output a time stamp.
This commit is contained in:
9
NEWS
9
NEWS
@@ -1,6 +1,15 @@
|
||||
News for the tz database
|
||||
|
||||
|
||||
Unreleased, experimental changes
|
||||
|
||||
Changes affecting code
|
||||
|
||||
zic no longer generates files containing time stamps before the Big Bang.
|
||||
This works around GNOME bug 730332
|
||||
<https://bugzilla.gnome.org/show_bug.cgi?id=730332>.
|
||||
|
||||
|
||||
Release 2014c - 2014-05-13 07:44:13 -0700
|
||||
|
||||
Changes affecting near-future time stamps
|
||||
|
||||
Reference in New Issue
Block a user