* NEWS: Document this.
* africa (Egypt): Change from "Apr lastFri 0:00s" to "Apr lastThu
24:00" for 2015-2019 and 2023 on. (Thanks to Steffen Thorsen.)
If I recall correctly, the trailing "s" was needed to work around
a Ramadan glitch that no longer seems to happen with the new rule,
so omit it in the new version.
When recently changing the 'Chile' ruleset in 'southamerica', I
forgot to update its copy 'ChileAQ' in 'antarctica'. This sort of
thing has been a continuing problem over the years. Attempt to
make further recurrences less likely by moving 'Antarctica/Palmer'
from 'antarctica' to 'southamerica', so that there's no need to
copy the rules in question.
* antarctica (ArgAQ, ChileAQ): Remove.
(Antarctica/Palmer): Move to ...
* southamerica: ... this file, and use plain 'Arg' and 'Chile'.
* NEWS: Mention Antarctica/Palmer and the other affected zones.
(Thanks to Alois Treindl for reporting the problem.)
* southamerica (Chile, America/Santiago, Pacific/Easter):
Fix several problems in the Chilean data from 1890 through 1990.
* NEWS: Document this.
* NEWS: Document this.
* backzone (Mont, America/Montreal):
Move this out-of-scope data here from 'northamerica'.
* checktab.awk: Remove special case for America/Montreal,
that was added to this file "temporarily" on 2013-09-11.
* northamerica (America/Montreal): Now a link to America/Toronto.
Allow libraries built with -Dtime_tz=... to be used in executables
that also use standard-library time_t and libraries.
(Problem reported by Bradley White.)
* NEWS: Document this.
* private.h (localtime_rz, mktime_rz, posix2time_z, time2posix_z)
(tzalloc, tzfree, tzset, tzsetwall) [time_tz]: Define to
tz_localtime_rz etc., so that these functions can be used in the
same executable as standard functions with standard time_t.
(tzset, tzsetwall) [time_tz]: Declare, so that the tz_-prefixed
version ins declared.
* asia (Mongol), NEWS: Mongolia will start observing DST again
this year, from the last Saturday in March at 02:00 to the last
Saturday in September at 00:00. (Thanks to Ganbold Tsagaankhuu.)
* asia (Palestine), NEWS: Palestine will start DST on March 28,
not March 27. Also, correct the fall 2014 transition from
September 26 to October 24. Adjust future predictions
accordingly. (Thanks to Steffen Thorsen.)
* NEWS: Document this.
* australasia (Pacific/Guam): Now a link to Pacific/Guam.
(Pacific/Midway): Now a link to Pacific/Pago_Pago.
* backzone (America/Antigua, America/Cayman, Pacific/Miday)
(Pacific/Saipan): Move these four entries here from the other files.
* checktab.awk: Remove special cases for the four zones.
* northamerica (America/Cayman): Now a link to America/Panama.
(America/Antigua): Move to ...
* southamerica (America/Antigua): ... here, and make it a link to
America/Port_of_Spain.
* NEWS:
* antarctica (ChileAQ, Antarctica/Palmer):
* southamerica (Chile, America/Santiago, Pacific/Easter):
Chile will not change its clocks in April, or thereafter.
Consider this to be their new standard time, effective April.
(Thanks to Juan Correa.)
* NEWS: America/FCP_QRoo also affects current time stamps.
* northamerica: Reformat to fit in 80 characters.
* zone.tab, zone1970.tab: Use "city, state" style for consistency.
* northamerica (America/FCP_QRoo): New zone for portions of Quintana Roo
state in Mexico which have observed EST without DST since 1998.
* zone.tab, zone1970.tab: Add entries for it, update description of
America/Cancun to reflect that it no longer represents all of Quintana Roo.
* NEWS: Document this.
* northamerica (America/Cancun): Switch to EST without DST on
2015-02-01 at 02:00.
* zone.tab, zone1970.tab: Update description for America/Cancun.
* NEWS: Document this.
* asia (Asia/Bahrain): Now links to Asia/Qatar.
(Asia/Kuwait, Asia/Aden): Now links to Asia/Riyadh.
(Asia/Muscat): Now links to Asia/Dubai.
* backzone: Move the old data here.
* checktab.awk (tztab): Remove special cases for these zones.
* NEWS: Document the above.
* europe (Iceland, Atlantic/Reykjavik):
Correct entries for 1939, 1921, 1919, and 1837-1907.
Coalesce some other entries, for simplicity.
* NEWS: Document this.
When using gawk and Posix TZ in tzselect, this warning is shown:
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
gawk treats '\.' as '.'
mawk treats '\.' as '\.'
both treat '\\.' as '\\.'
The 2nd and 3rd are corrrect for 'Mm.w.d'.
Test:
gawk 'BEGIN{ date = "\."; print date }'
gawk 'BEGIN{ date = "\\."; print date }'
versus:
mawk 'BEGIN{ date = "\."; print date }'
mawk 'BEGIN{ date = "\\."; print date }'
* tzselect.ksh (date): Fix bug that broke POSIX TZ checking with gawk.
* NEWS: Document this.
Problem reported by Stephen Colebourne in:
http://mm.icann.org/pipermail/tz/2014-November/021888.html
* backward (Africa/Asmera): Link to Africa/Nairobi,
not to Africa/Asmara.
* backzone (Africa/Asmera): New link, to override 'backward'.
* NEWS: Document fixes.
* localtime.c (settzname): Move scrubbing into ...
(scrub_abbrs): ... this new function.
(zoneinit): Use it here, rather than in settzname.
* NEWS: Document this.
* africa (Africa/Addis_Ababa, Africa/Asmara, Africa/Dar_es_Salaam)
(Africa/Djibouti, Africa/Kampala, Africa/Mogadishu, Indian/Antananarivo)
(Indian/Comoro, Indian/Mayotte):
Change these from zones to links to Africa/Nairobi.
* backzone: Move the old data here.
* checktab.awk (tztab): Remove special cases for these zones.
* NEWS: Document the above.
* africa, asia, australasia, backzone, europe, northamerica:
* southamerica, tz-link.htm: Be less enthusiastic about Shanks.
* tz-link.htm: Be clearer about UT vs UTC.
* NEWS: Document this.
(Thanks to Sanghyuk Jung.)
* asia (ROK): Add entries for 1948-1959 and correct entries
for 1987-1988.
(Asia/Seoul): Correct entries through 1962.
(Asia/Pyongyang): Guess no change since World War II.
* NEWS: Document this.
(Thanks to Ken Rylander for the heads-up.)
* australasia (Fiji): Assume Nov Sun>=1 2:00 to Jan Sun>=18 3:00
from here on out.
* newtzset.3: Adjust Fiji example to match current assumptions.
* NEWS: Document this.
Christos Zoulas reported a crash due to a tzsetlcl failure to
initialize data in some places, and requested that errno be set
when time functions fail; see:
http://mm.icann.org/pipermail/tz/2014-October/021754.html
While fixing this in a different way, I noticed and fixed another
instance of undefined behavior when read returns a too-small value.
* NEWS: Document this.
* localtime.c (union input_buffer): Rename from u_t.
(union input_buffer, union local_storage):
Move to top level so that two functions can use them.
(tzloadbody): New function, with most of the body of the old tzload.
Check for short reads that leave uninitialized buffers behind.
Define a new constant TZHEADSIZE for this, and use it to simplify
other code that already uses the concept.
(tzload): Use it. This removes the need for gotos. Return an errno
value; all callers changed.
(zoneinit): Return bool, not struct state *. Assume SP is nonnull.
All callers changed.
(zoneinit, tzalloc): Set errno on failure.
(tzsetlcl): Don't crash if zoneinit fails.
* private.h (ENAMETOOLONG): Define if not already defined.