aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-01-10 07:55:46 +0000
committerRoland McGrath <roland@gnu.org>2006-01-10 07:55:46 +0000
commit53751fd5e5c3cfd86e60e63740738cf1bc97697d (patch)
tree34280e234d21594d61a23849587c92cfe9047db0
parent69e094203aa2ca3114c2209659cbde00464ad6e7 (diff)
downloadglibc-53751fd5e5c3cfd86e60e63740738cf1bc97697d.zip
glibc-53751fd5e5c3cfd86e60e63740738cf1bc97697d.tar.gz
glibc-53751fd5e5c3cfd86e60e63740738cf1bc97697d.tar.bz2
* sysdeps/hppa/elf/start.S (_start): Use PLABEL32 relocations
by using LR and RR. Add %sr0 to iitlbp. * timezone/private.h: Update from tzcode2005r. * timezone/tzfile.h: Likewise. * timezone/zdump.c: Likewise. * timezone/zic.c: Likewise. * timezone/africa: Update from tzdata2005r. * timezone/antarctica: Likewise. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/systemv: Likewise.
-rw-r--r--ChangeLog19
-rw-r--r--sysdeps/hppa/elf/start.S72
-rw-r--r--timezone/africa3
-rw-r--r--timezone/antarctica18
-rw-r--r--timezone/asia55
-rw-r--r--timezone/australasia51
-rw-r--r--timezone/backward9
-rw-r--r--timezone/europe3
-rw-r--r--timezone/northamerica89
-rw-r--r--timezone/private.h2
-rw-r--r--timezone/southamerica22
-rw-r--r--timezone/systemv36
-rw-r--r--timezone/tzfile.h6
-rw-r--r--timezone/zdump.c52
-rw-r--r--timezone/zic.c108
15 files changed, 340 insertions, 205 deletions
diff --git a/ChangeLog b/ChangeLog
index 3e81ac7..5389b17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
+2006-01-07 Carlos O'Donell <carlos@systemhalted.org>
+
+ * sysdeps/hppa/elf/start.S (_start): Use PLABEL32 relocations
+ by using LR and RR. Add %sr0 to iitlbp.
+
2006-01-09 Roland McGrath <roland@redhat.com>
+ * timezone/private.h: Update from tzcode2005r.
+ * timezone/tzfile.h: Likewise.
+ * timezone/zdump.c: Likewise.
+ * timezone/zic.c: Likewise.
+ * timezone/africa: Update from tzdata2005r.
+ * timezone/antarctica: Likewise.
+ * timezone/asia: Likewise.
+ * timezone/australasia: Likewise.
+ * timezone/backward: Likewise.
+ * timezone/europe: Likewise.
+ * timezone/northamerica: Likewise.
+ * timezone/southamerica: Likewise.
+ * timezone/systemv: Likewise.
+
* elf/Makefile ($(objpfx)reldep5.out): Fix dependency typo,
so we depend on $(objpfx)reldepmod6.so as intended.
diff --git a/sysdeps/hppa/elf/start.S b/sysdeps/hppa/elf/start.S
index 4cf832a..94edeaa 100644
--- a/sysdeps/hppa/elf/start.S
+++ b/sysdeps/hppa/elf/start.S
@@ -34,16 +34,27 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
- .text
-
- .align 4
-
.import main, code
.import $global$, data
.import __libc_start_main, code
.import __libc_csu_fini, code
.import __libc_csu_init, code
+ /* Have the linker create plabel words
+ so we get PLABEL32 relocs and not 21/14 */
+ .section .rodata
+ .align 4
+.Lpmain:
+ .word P%main
+.Lp__libc_start_main:
+ .word P%__libc_start_main
+.Lp__libc_csu_fini:
+ .word P%__libc_csu_fini
+.Lp__libc_csu_init:
+ .word P%__libc_csu_init
+
+ .text
+ .align 4
.globl _start
.export _start, ENTRY
.type _start,@function
@@ -52,28 +63,41 @@ _start:
.proc
.callinfo
- /* load main */
- ldil LP%main, %r26
- ldo RP%main(%r26), %r26
-
- /* argc and argv should be in 25 and 24 */
-
/* Expand the stack to store the 5th through 7th args */
ldo 64(%sp), %sp
-
- /* void (*rtld_fini) (void) (actually the 6th arg) */
- stw %r23, -56(%sp)
-
- /* void (*init) (void) */
- ldil LP%__libc_csu_init, %r23
- ldo RP%__libc_csu_init(%r23), %r23
-
- /* void (*fini) (void) */
- ldil LP%__libc_csu_fini, %r22
- ldo RP%__libc_csu_fini(%r22), %r22
+ /* TODO: Follow ABI? Place more things on the stack here... */
+
+#if SHARED
+ /* load main (1st argument) */
+ addil LR'.Lpmain, %r19
+ ldw RR'.Lpmain(%r1), %r26
+ ldw 0(%r26),%r26
+ /* argc and argv should be in 25 and 24 (2nd and 3rd argument) */
+ /* void (*init) (void) (4th argument) */
+ addil LR'.Lp__libc_csu_init, %r19
+ ldw RR'.Lp__libc_csu_init(%r1), %r23
+ ldw 0(%r23), %r23
+ /* void (*fini) (void) (5th argument) */
+ addil LR'.Lp__libc_csu_fini, %r19
+ ldw RR'.Lp__libc_csu_fini(%r1), %r22
+ ldw 0(%r22), %r22
+#else
+ /* load main (1st argument) */
+ ldil LR'.Lpmain, %r26
+ ldw RR'.Lpmain(%r26), %r26
+ /* argc and argv should be in 25 and 24 (2nd and 3rd argument) */
+ /* void (*init) (void) (4th argument) */
+ ldil LR'.Lp__libc_csu_init, %r23
+ ldw RR'.Lp__libc_csu_init(%r23), %r23
+ /* void (*fini) (void) (5th argument) */
+ ldil LR'.Lp__libc_csu_fini, %r22
+ ldw RR'.Lp__libc_csu_fini(%r22), %r22
+#endif
+ /* Store 5th argument */
stw %r22, -52(%sp)
-
- /* void *stack_end */
+ /* void (*rtld_fini) (void) (6th argument) */
+ stw %r23, -56(%sp)
+ /* void *stack_end (7th argument) */
stw %sp, -60(%sp)
/* load global */
@@ -83,7 +107,7 @@ _start:
bl __libc_start_main,%r2
nop
/* die horribly if it returned (it shouldn't) */
- iitlbp %r0,(%r0)
+ iitlbp %r0,(%sr0,%r0)
nop
.procend
diff --git a/timezone/africa b/timezone/africa
index 87ae9e3..153e254 100644
--- a/timezone/africa
+++ b/timezone/africa
@@ -1,4 +1,5 @@
-# @(#)africa 7.39
+# @(#)africa 7.40
+# <pre>
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
diff --git a/timezone/antarctica b/timezone/antarctica
index c11d24e..f3efe19 100644
--- a/timezone/antarctica
+++ b/timezone/antarctica
@@ -1,4 +1,5 @@
-# @(#)antarctica 7.25
+# @(#)antarctica 7.30
+# <pre>
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
@@ -59,7 +60,7 @@ Rule ChileAQ 2000 max - Mar Sun>=9 0:00 0 -
# Australia - territories
# Heard Island, McDonald Islands (uninhabited)
# previously sealers and scientific personnel wintered
-# <a href="http://www.dstc.qut.edu.au/DST/marg/daylight.html">
+# <a href="http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html">
# Margaret Turner reports
# </a> (1999-09-30) that they're UTC+5, with no DST;
# presumably this is when they have visitors.
@@ -106,7 +107,7 @@ Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
# France - year-round bases
#
-# From Antoine Leca <Antoine.Leca@Renault.FR> (1997-01-20):
+# From Antoine Leca (1997-01-20):
# Time data are from Nicole Pailleau at the IFRTP
# (French Institute for Polar Research and Technology).
# She confirms that French Southern Territories and Terre Adelie bases
@@ -139,11 +140,10 @@ Zone Antarctica/DumontDUrville 0 - zzz 1947
0 - zzz 1956 Nov
10:00 - DDUT # Dumont-d'Urville Time
# Reference:
-# <a href="http://www.icair.iac.org.nz/science/reports/fr/IFRTP.html">
-# Support and Development of Polar Research and Technology (1997-02-03)
+# <a href="http://en.wikipedia.org/wiki/Dumont_d'Urville_Station">
+# Dumont d'Urville Station (2005-12-05)
# </a>
-
# Germany - year-round base
# Georg von Neumayer, -7039-00815
@@ -155,9 +155,7 @@ Zone Antarctica/DumontDUrville 0 - zzz 1947
# Syowa, -690022+0393524
#
# From Hideyuki Suzuki (1999-02-06):
-# In all Japanese stations, +0300 is used as the standard time. [See]
-# <a href="http://www.crl.go.jp/uk/uk201/basyo.htm">[reference in Japanese]</a>
-# and information from KAMO Hiroyasu.
+# In all Japanese stations, +0300 is used as the standard time.
#
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
@@ -296,7 +294,7 @@ Zone Antarctica/McMurdo 0 - zzz 1956
# Normally it wouldn't have a separate entry, since it's like the
# larger Antarctica/McMurdo since 1970, but it's too famous to omit.
#
-# From Chris Carrier <72157.3334@CompuServe.COM> (1996-06-27):
+# From Chris Carrier (1996-06-27):
# Siple, the first commander of the South Pole station,
# stated that he would have liked to have kept GMT at the station,
# but that he found it more convenient to keep GMT+12
diff --git a/timezone/asia b/timezone/asia
index 52ba323..59e62dd 100644
--- a/timezone/asia
+++ b/timezone/asia
@@ -1,4 +1,5 @@
-# @(#)asia 7.85
+# @(#)asia 7.90
+# <pre>
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
@@ -85,7 +86,7 @@ Zone Asia/Kabul 4:36:48 - LMT 1890
# Shanks has Yerevan switching to 3:00 (with Russian DST) in spring 1991,
# then to 4:00 with no DST in fall 1995, then readopting Russian DST in 1997.
# Go with Shanks, even when he disagrees with others. Edgar Der-Danieliantz
-# <edd@AIC.NET> reported (1996-05-04) that Yerevan probably wouldn't use DST
+# reported (1996-05-04) that Yerevan probably wouldn't use DST
# in 1996, though it did use DST in 1995. IATA SSIM (1991/1998) reports that
# Armenia switched from 3:00 to 4:00 in 1998 and observed DST after 1991,
# but started switching at 3:00s in 1998.
@@ -99,9 +100,12 @@ Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
4:00 RussiaAsia AM%sT
# Azerbaijan
+# From Rustam Aliyev of the Azerbaijan Internet Forum (2005-10-23):
+# According to the resolution of Cabinet of Ministers, 1997
+# Resolution available at: http://aif.az/docs/daylight_res.pdf
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule Azer 1997 max - Mar lastSun 1:00 1:00 S
-Rule Azer 1997 max - Oct lastSun 1:00 0 -
+Rule Azer 1997 max - Mar lastSun 4:00 1:00 S
+Rule Azer 1997 max - Oct lastSun 5:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Baku 3:19:24 - LMT 1924 May 2
3:00 - BAKT 1957 Mar # Baku Time
@@ -348,6 +352,17 @@ Link Asia/Nicosia Europe/Nicosia
# Mikhail Saakashvili, who said the change was partly prompted by the process
# of integration into Europe.
+# From Teimuraz Abashidze (2005-11-07):
+# Government of Georgia ... decided to NOT CHANGE daylight savings time on
+# [Oct.] 30, as it was done before during last more than 10 years.
+# Currently, we are in fact GMT +4:00, as before 30 October it was GMT
+# +3:00.... The problem is, there is NO FORMAL LAW or governmental document
+# about it. As far as I can find, I was told, that there is no document,
+# because we just DIDN'T ISSUE document about switching to winter time....
+# I don't know what can be done, especially knowing that some years ago our
+# DST rules where changed THREE TIMES during one month.
+
+
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tbilisi 2:59:16 - LMT 1880
2:59:16 - TBMT 1924 May 2 # Tbilisi Mean Time
@@ -359,7 +374,8 @@ Zone Asia/Tbilisi 2:59:16 - LMT 1880
4:00 E-EurAsia GE%sT 1996 Oct lastSun
4:00 1:00 GEST 1997 Mar lastSun
4:00 E-EurAsia GE%sT 2004 Jun 27
- 3:00 RussiaAsia GE%sT
+ 3:00 RussiaAsia GE%sT 2005 Mar lastSun 2:00
+ 4:00 - GET
# East Timor
@@ -915,6 +931,9 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
# The decision was taken because of the increase in working hours in
# government's departments from six to seven hours.
#
+# From Paul Eggert (2005-11-22):
+# Starting 2003 transitions are from Steffen Thorsen's web site timeanddate.com.
+#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Jordan 1973 only - Jun 6 0:00 1:00 S
Rule Jordan 1973 1975 - Oct 1 0:00 0 -
@@ -937,8 +956,11 @@ Rule Jordan 1993 1998 - Apr Fri>=1 0:00 1:00 S
Rule Jordan 1994 only - Sep Fri>=15 0:00 0 -
Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
-Rule Jordan 1999 max - Sep lastThu 0:00s 0 -
+Rule Jordan 1999 2002 - Sep lastThu 0:00s 0 -
Rule Jordan 2000 max - Mar lastThu 0:00s 1:00 S
+Rule Jordan 2003 only - Oct 24 0:00s 0 -
+Rule Jordan 2004 only - Oct 15 0:00s 0 -
+Rule Jordan 2005 max - Sep lastFri 0:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
@@ -1044,18 +1066,22 @@ Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
# <http://eng.gateway.kg/cgi-bin/page.pl?id=1&story_name=doc9979.shtml>
# Kyrgyzstan is canceling the daylight saving time system. I take the article
# to mean that they will leave their clocks at 6 hours ahead of UTC.
+# From Malik Abdugaliev (2005-09-21):
+# Our government cancels daylight saving time 6th of August 2005.
+# From 2005-08-12 our GMT-offset is +6, w/o any daylight saving.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule Kirgiz 1992 1996 - Apr Sun>=7 0:00s 1:00 S
-Rule Kirgiz 1992 1996 - Sep lastSun 0:00 0 -
-Rule Kirgiz 1997 max - Mar lastSun 2:30 1:00 S
-Rule Kirgiz 1997 max - Oct lastSun 2:30 0 -
+Rule Kyrgyz 1992 1996 - Apr Sun>=7 0:00s 1:00 S
+Rule Kyrgyz 1992 1996 - Sep lastSun 0:00 0 -
+Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 S
+Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - FRUT 1930 Jun 21 # Frunze Time
6:00 RussiaAsia FRU%sT 1991 Mar 31 2:00s
5:00 1:00 FRUST 1991 Aug 31 2:00 # independence
- 5:00 Kirgiz KG%sT # Kirgizstan Time
+ 5:00 Kyrgyz KG%sT 2005 Aug 12 # Kyrgyzstan Time
+ 6:00 - KGT
###############################################################################
@@ -1404,6 +1430,9 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# For now, let's assume that the spring switch was at 24:00,
# and that they switch at 0:00 on the 3rd Fridays of April and October.
+# From Paul Eggert (2005-11-22):
+# Starting 2004 transitions are from Steffen Thorsen's web site timeanddate.com.
+
# The rules for Egypt are stolen from the `africa' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
@@ -1414,7 +1443,9 @@ Rule EgyptAsia 1959 1965 - Sep 30 3:00 0 -
Rule EgyptAsia 1966 only - Oct 1 3:00 0 -
Rule Palestine 1999 max - Apr Fri>=15 0:00 1:00 S
-Rule Palestine 1999 max - Oct Fri>=15 0:00 0 -
+Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
+Rule Palestine 2004 only - Oct 1 1:00 0 -
+Rule Palestine 2005 max - Oct 4 1:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
diff --git a/timezone/australasia b/timezone/australasia
index 57bd60a..6cf9761 100644
--- a/timezone/australasia
+++ b/timezone/australasia
@@ -1,4 +1,6 @@
-# @(#)australasia 7.73
+# @(#)australasia 7.78
+# <pre>
+
# This file also includes Pacific islands.
# Notes are at the end of this file
@@ -551,9 +553,15 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Australia
-# <a href="http://www.dstc.qut.edu.au/DST/marg/daylight.html">
-# Australia's Daylight Saving Times
-# </a>, by Margaret Turner, summarizes daylight saving issues in Australia.
+# From Paul Eggert (2005-12-08):
+# <a href="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">
+# Implementation Dates of Daylight Saving Time within Australia
+# </a> summarizes daylight saving issues in Australia.
+
+# From Arthur David Olson (2005-12-12):
+# <a href="http://www.lawlink.nsw.gov.au/lawlink/Corporate/ll_agdinfo.nsf/pages/community_relations_daylight_saving">
+# Lawlink NSW:Daylight Saving in New South Wales
+# </a> covers New South Wales in particular.
# From John Mackin (1991-03-06):
# We in Australia have _never_ referred to DST as `daylight' time.
@@ -960,17 +968,6 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# legislation. This is very important to understand.
# I have researched New South Wales time only...
-# From Paul Eggert (1999-09-27):
-# The Information Service of the Australian National Standards Commission
-# <a href="http://www.nsc.gov.au/InfoServ/Ileaflet/il27.htm">
-# Daylight Saving
-# </a> page (1995-04) has an excellent overall history of Australian DST.
-# The Community Relations Division of the NSW Attorney General's Department
-# publishes a history of daylight saving in NSW. See:
-# <a href="http://www.lawlink.nsw.gov.au/crd.nsf/pages/time2">
-# Lawlink NSW: Daylight Saving in New South Wales
-# </a>
-
# From Eric Ulevik (1999-05-26):
# DST will start in NSW on the last Sunday of August, rather than the usual
# October in 2000. [See: Matthew Moore,
@@ -1048,7 +1045,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Lord Howe Island
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
-# LHI... [ Courtesy of Pauline Van Winsen.. pauline@Aus ]
+# LHI... [ Courtesy of Pauline Van Winsen ]
# [ Dec 1990 ]
# Lord Howe Island is located off the New South Wales coast, and is half an
# hour ahead of NSW time.
@@ -1088,7 +1085,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The Country of New Zealand (Australia's east island -) Gee they hate that!
# # or is Australia the west island of N.Z.
-# # [ courtesy of Geoff Tribble.. Geofft@Aus.. Auckland N.Z. ]
+# # [ courtesy of Geoff Tribble.. Auckland N.Z. ]
# # [ Nov 1990 ]
# ...
# Rule NZ 1974 1988 - Oct lastSun 2:00 1:00 D
@@ -1375,16 +1372,26 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# mapmakers redrew the IDL following the boundary of Kiribati. Even that line
# has a rather arbitrary nature. The straight-line boundaries between Pacific
# island nations that are shown on many maps are based on an international
-# convention, but are not legally binding national borders.
-#
-# An Anglo-French Conference on Time-Keeping at Sea (June, 1917) agreed that
-# legal time on the high seas would be zone time, i.e., the standard time at
-# the nearest meridian that is a multiple of fifteen degrees. The date is
+# convention, but are not legally binding national borders.... The date is
# governed by the IDL; therefore, even on the high seas, there may be some
# places as late as fourteen hours later than UTC. And, since the IDL is not
# an international standard, there are some places on the high seas where the
# correct date is ambiguous.
+# From Wikipedia <http://en.wikipedia.org/wiki/Time_zone> (2005-08-31):
+# Before 1920, all ships kept local apparent time on the high seas by setting
+# their clocks at night or at the morning sight so that, given the ship's
+# speed and direction, it would be 12 o'clock when the Sun crossed the ship's
+# meridian (12 o'clock = local apparent noon). During 1917, at the
+# Anglo-French Conference on Time-keeping at Sea, it was recommended that all
+# ships, both military and civilian, should adopt hourly standard time zones
+# on the high seas. Whenever a ship was within the territorial waters of any
+# nation it would use that nation's standard time. The captain was permitted
+# to change his ship's clocks at a time of his choice following his ship's
+# entry into another zone time--he often chose midnight. These zones were
+# adopted by all major fleets between 1920 and 1925 but not by many
+# independent merchant ships until World War II.
+
# From Paul Eggert, using references suggested by Oscar van Vlijmen
# (2005-03-20):
#
diff --git a/timezone/backward b/timezone/backward
index ca22dfe..4ddfe41 100644
--- a/timezone/backward
+++ b/timezone/backward
@@ -1,4 +1,4 @@
-# @(#)backward 7.29
+# @(#)backward 7.30
# This file provides links between current names for time zones
# and their old names. Many names changed in late 1993.
@@ -42,7 +42,6 @@ Link America/Rio_Branco Brazil/Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
-Link America/Chicago CST6CDT
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
Link America/Regina Canada/East-Saskatchewan
@@ -55,8 +54,6 @@ Link America/Whitehorse Canada/Yukon
Link America/Santiago Chile/Continental
Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
-Link America/Panama EST
-Link America/New_York EST5EDT
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
Link Europe/London Europe/Belfast
@@ -67,7 +64,6 @@ Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
-Link Pacific/Honolulu HST
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
Link Asia/Tehran Iran
@@ -76,8 +72,6 @@ Link America/Jamaica Jamaica
Link Asia/Tokyo Japan
Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
-Link America/Phoenix MST
-Link America/Denver MST7MDT
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
@@ -85,7 +79,6 @@ Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link Asia/Shanghai PRC
-Link America/Los_Angeles PST8PDT
Link Pacific/Pago_Pago Pacific/Samoa
Link Pacific/Truk Pacific/Yap
Link Europe/Warsaw Poland
diff --git a/timezone/europe b/timezone/europe
index ec6720a..8782860 100644
--- a/timezone/europe
+++ b/timezone/europe
@@ -1,4 +1,5 @@
-# @(#)europe 7.95
+# @(#)europe 7.96
+# <pre>
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
diff --git a/timezone/northamerica b/timezone/northamerica
index 40a2ce2..9f9b98b 100644
--- a/timezone/northamerica
+++ b/timezone/northamerica
@@ -1,4 +1,6 @@
-# @(#)northamerica 7.79
+# @(#)northamerica 7.87
+# <pre>
+
# also includes Central America and the Caribbean
# This data is by no means authoritative; if you think you know better,
@@ -131,6 +133,26 @@ Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
Rule US 2007 max - Nov Sun>=1 2:00 0 S
+# From Arthur David Olson, 2005-12-19
+# We generate the files specified below to guard against old files with
+# obsolete information being left in the time zone binary directory.
+# We limit the list to names that have appeared in previous versions of
+# this time zone package.
+# We do these as separate Zones rather than as Links to avoid problems if
+# a particular place changes whether it observes DST.
+# We put these specifications here in the northamerica file both to
+# increase the chances that they'll actually get compiled and to
+# avoid the need to duplicate the US rules in another file.
+
+# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+Zone EST -5:00 - EST
+Zone MST -7:00 - MST
+Zone HST -10:00 - HST
+Zone EST5EDT -5:00 US E%sT
+Zone CST6CDT -6:00 US C%sT
+Zone MST7MDT -7:00 US M%sT
+Zone PST8PDT -8:00 US P%sT
+
# From Bob Devine (1988-01-28):
# ...Alaska (and Hawaii) had the timezone names changed in 1967.
# old new
@@ -244,6 +266,16 @@ Rule US 2007 max - Nov Sun>=1 2:00 0 S
# and didn't change their clocks for Daylight Saving ... so that their
# reports will always have times which are 5 hours behind UTC.
+# From Paul Eggert (2005-08-26):
+# According to today's Huntsville Times
+# <http://www.al.com/news/huntsvilletimes/index.ssf?/base/news/1125047783228320.xml&coll=1>
+# a few towns on Alabama's "eastern border with Georgia, such as Phenix City
+# in Russell County, Lanett in Chambers County and some towns in Lee County,
+# set their watches and clocks on Eastern time." It quotes H.H. "Bubba"
+# Roberts, city administrator in Phenix City. as saying "We are in the Central
+# time zone, but we do go by the Eastern time zone because so many people work
+# in Columbus."
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule NYC 1920 only - Mar lastSun 2:00 1:00 D
Rule NYC 1920 only - Oct lastSun 2:00 0 S
@@ -790,18 +822,37 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
# Unless otherwise specified, the data for Canada are all from Shanks.
-# From Paul Eggert (2000-10-02):
+# From Paul Eggert (2005-12-21):
# H. David Matthews and Mary Vincent's map
-# <a href="http://www.canadiangeographic.ca/SO98/geomap.htm">
+# <a href="http://www.canadiangeographic.ca/Magazine/SO98/geomap.asp">
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
# </a> contains detailed boundaries for regions observing nonstandard
# time and daylight saving time arrangements in Canada circa 1998.
#
-# INMS, the Institute for National Measurement Standards in Ottawa, has
-# <a href="http://www.nrc.ca/inms/time/tze.html">
+# INMS, the Institute for National Measurement Standards in Ottawa, has <a
+# href="http://inms-ienm.nrc-cnrc.gc.ca/en/time_services/daylight_saving_e.php">
# information about standard and daylight saving time zones in Canada.
# </a> (updated periodically).
# Its unofficial information is often taken from Matthews and Vincent.
+#
+# CBC News reported that Ontario and Manitoba have announced plans to
+# follow the US change, and that Nova Scotia is considering it; see
+# <http://www.cbc.ca/news/background/daylightsavingtime/> (2005-10-21).
+# CBC news also reported that Prince Edward Island is the first
+# province in Atlantic Canada to follow the US change, and that Quebec
+# had agreed; see <http://www.cbc.ca/pei/story/pe_daylight_20051207.html>
+# (2005-12-07).
+#
+# To reflect all this, the Canada and Winn rules have been adjusted to
+# agree with the 2007 US change. This means we assume most of Canada
+# will fall into line. However, Alberta, British Columbia,
+# Newfoundland, Northwest Territories, and Yukon already have separate
+# rules in our database, so for now we'll leave them alone, which
+# means that we currently assume these regions will not change their
+# rules and will disagree with the US starting in 2007. This
+# assumption is probably incorrect, with the possible exception of
+# Newfoundland. We plan to adjust the Edm, Vanc, StJohns, and NT_YK
+# rules as the corresponding provinces make their announcements.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Canada 1918 only - Apr 14 2:00 1:00 D
@@ -810,8 +861,10 @@ Rule Canada 1942 only - Feb 9 2:00 1:00 W # War
Rule Canada 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule Canada 1945 only - Sep 30 2:00 0 S
Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
-Rule Canada 1974 max - Oct lastSun 2:00 0 S
-Rule Canada 1987 max - Apr Sun>=1 2:00 1:00 D
+Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
+Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
+Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
+Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
# Newfoundland (and far southeast Labrador)
@@ -1137,11 +1190,13 @@ Rule Winn 1963 only - Apr lastSun 2:00 1:00 D
Rule Winn 1963 only - Sep 22 2:00 0 S
Rule Winn 1966 1986 - Apr lastSun 2:00 1:00 D
Rule Winn 1966 1986 - Oct lastSun 2:00 0 S
-Rule Winn 1987 max - Apr Sun>=1 2:00 1:00 D
+Rule Winn 1987 2006 - Apr Sun>=1 2:00s 1:00 D
# From Paul Eggert (2000-10-02):
# INMS (2000-09-12) says that, since 1988 at least, Manitoba switches from
# DST at 03:00 local time. For now, assume it started in 1987.
-Rule Winn 1987 max - Oct lastSun 2:00s 0 S
+Rule Winn 1987 2006 - Oct lastSun 2:00s 0 S
+Rule Winn 2007 max - Mar Sun>=8 2:00s 1:00 D
+Rule Winn 2007 max - Nov Sun>=1 2:00s 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
-6:00 Winn C%sT
@@ -1805,6 +1860,11 @@ Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose
# to normal hours (after daylight saving time)".
# For now, let's assume that it's a one-year temporary measure.
+# From Carlos A. Carnero Delgado (2005-11-12):
+# This year (just like in 2004-2005) there's no change in time zone
+# adjustment in Cuba. We will stay in daylight saving time:
+# http://www.granma.cu/espanol/2005/noviembre/mier9/horario.html
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cuba 1928 only - Jun 10 0:00 1:00 D
Rule Cuba 1928 only - Oct 10 0:00 0 S
@@ -1835,7 +1895,7 @@ Rule Cuba 1997 only - Oct 12 0:00s 0 S
Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D
Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S
Rule Cuba 2000 max - Apr Sun>=1 0:00s 1:00 D
-Rule Cuba 2005 max - Oct lastSun 0:00s 0 S
+Rule Cuba 2006 max - Oct lastSun 0:00s 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Havana -5:29:28 - LMT 1890
@@ -2021,13 +2081,18 @@ Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Olveston
# changes in 2000. Perhaps a note could be added to the northamerica file, to
# the effect that we have indirect evidence that DST was observed in 2000.
#
+# From Jesper Norgaard Welen (2005-11-02):
+# Nicaragua left DST the 2005-10-02 at 00:00 (local time).
+# http://www.presidencia.gob.ni/presidencia/files_index/secretaria/comunicados/2005/septiembre/26septiembre-cambio-hora.htm
+# (2005-09-26)
+#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Nic 1979 1980 - Mar Sun>=16 0:00 1:00 D
Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
-Rule Nic 1992 only - Jan 1 4:00 1:00 D
+Rule Nic 1992 only - Jan 1 4:00 1:00 D
Rule Nic 1992 only - Sep 24 0:00 0 S
Rule Nic 2005 only - Apr 10 0:00 1:00 D
-Rule Nic 2005 only - Sep 18 0:00 0 S
+Rule Nic 2005 only - Oct 2 0:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Managua -5:45:08 - LMT 1890
-5:45:12 - MMT 1934 Jun 23 # Managua Mean Time?
diff --git a/timezone/private.h b/timezone/private.h
index 9a1ef22..33dc4c3 100644
--- a/timezone/private.h
+++ b/timezone/private.h
@@ -4,7 +4,7 @@
/*
** This file is in the public domain, so clarified as of
-** 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov).
+** 1996-06-05 by Arthur David Olson.
*/
/*
diff --git a/timezone/southamerica b/timezone/southamerica
index 9bf068b..eb7b5c7 100644
--- a/timezone/southamerica
+++ b/timezone/southamerica
@@ -1,4 +1,5 @@
-# @(#)southamerica 7.61
+# @(#)southamerica 7.66
+# <pre>
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
@@ -525,12 +526,6 @@ Rule Brazil 1997 only - Feb 16 0:00 0 -
# This year, the ending date of DS was postponed to March 1
# to help dealing with the shortages of electric power.
#
-# From Paul Eggert (1998-02-25):
-# <a href="http://churchnet.ucsm.ac.uk/news/files2/news165.htm">
-# Brazil Prepares for Papal Visit
-# </a>,
-# Church Net UK (1997-10-02).
-#
# Decree 2,317 (1997-09-04), adopted by same states.
Rule Brazil 1997 only - Oct 6 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/figuras/HV2495.JPG">2,495</a>
@@ -565,11 +560,12 @@ Rule Brazil 2003 only - Oct 19 0:00 1:00 S
# Decree 5,223 (2004-10-01) reestablishes DST in MT.
# <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2004/Decreto/D5223.htm"></a>
Rule Brazil 2004 only - Nov 2 0:00 1:00 S
+# Decree <a href="http://pcdsh01.on.br/DecHV5539.gif">5,539</a> (2005-09-19),
+# adopted by the same states as before.
+Rule Brazil 2005 max - Oct Sun>=15 0:00 1:00 S
# The latest ruleset listed above says that the following states observe DST:
# DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP.
-#
-Rule Brazil 2005 max - Oct Sun>=15 0:00 1:00 S
-# For dates after mid-2005, the above rules with TO="max" are guesses
+# For dates after mid-2006, the above rules with TO="max" are guesses
# and are quite possibly wrong, but are more likely than no DST at all.
@@ -1055,6 +1051,12 @@ Rule Uruguay 2004 only - Sep 19 0:00 1:00 S
# save energy ... it was postponed two weeks....
# http://www.presidencia.gub.uy/_Web/noticias/2005/03/2005031005.htm
Rule Uruguay 2005 only - Mar 27 2:00 0 -
+# From Eduardo Cota (2005-09-27):
+# http://www.presidencia.gub.uy/_Web/decretos/2005/09/CM%20119_09%2009%202005_00001.PDF
+# This means that from 2005-10-09 at 02:00 local time, until 2006-03-12 at
+# 02:00 local time, official time in Uruguay will be at GMT -2.
+Rule Uruguay 2005 only - Oct 9 2:00 1:00 S
+Rule Uruguay 2006 only - Mar 12 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28
-3:44:44 - MMT 1920 May 1 # Montevideo MT
diff --git a/timezone/systemv b/timezone/systemv
index c6a6b64..a5b4209 100644
--- a/timezone/systemv
+++ b/timezone/systemv
@@ -1,24 +1,24 @@
-# @(#)systemv 7.3
+# @(#)systemv 7.5
# Old rules, should the need arise.
# No attempt is made to handle Newfoundland, since it cannot be expressed
# using the System V "TZ" scheme (half-hour offset), or anything outside
# North America (no support for non-standard DST start/end dates), nor
-# the change in the DST rules in the US in 1987 (which occurred before
+# the changes in the DST rules in the US after 1976 (which occurred after
# the old rules were written).
#
-# If you need the old rules, uncomment ## lines and comment-out Link lines.
+# If you need the old rules, uncomment ## lines.
# Compile this *without* leap second correction for true conformance.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-## Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D
-## Rule SystemV min 1973 - Oct lastSun 2:00 0 S
-## Rule SystemV 1974 only - Jan 6 2:00 1:00 D
-## Rule SystemV 1974 only - Nov lastSun 2:00 0 S
-## Rule SystemV 1975 only - Feb 23 2:00 1:00 D
-## Rule SystemV 1975 only - Oct lastSun 2:00 0 S
-## Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
-## Rule SystemV 1976 max - Oct lastSun 2:00 0 S
+Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D
+Rule SystemV min 1973 - Oct lastSun 2:00 0 S
+Rule SystemV 1974 only - Jan 6 2:00 1:00 D
+Rule SystemV 1974 only - Nov lastSun 2:00 0 S
+Rule SystemV 1975 only - Feb 23 2:00 1:00 D
+Rule SystemV 1975 only - Oct lastSun 2:00 0 S
+Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
+Rule SystemV 1976 max - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
## Zone SystemV/AST4ADT -4:00 SystemV A%sT
@@ -34,17 +34,3 @@
## Zone SystemV/PST8 -8:00 - PST
## Zone SystemV/YST9 -9:00 - YST
## Zone SystemV/HST10 -10:00 - HST
-# For now...
-Link America/Halifax SystemV/AST4ADT
-Link America/New_York SystemV/EST5EDT
-Link America/Chicago SystemV/CST6CDT
-Link America/Denver SystemV/MST7MDT
-Link America/Los_Angeles SystemV/PST8PDT
-Link America/Anchorage SystemV/YST9YDT
-Link America/Puerto_Rico SystemV/AST4
-Link America/Indianapolis SystemV/EST5
-Link America/Regina SystemV/CST6
-Link America/Phoenix SystemV/MST7
-Link Pacific/Pitcairn SystemV/PST8
-Link Pacific/Gambier SystemV/YST9
-Link Pacific/Honolulu SystemV/HST10
diff --git a/timezone/tzfile.h b/timezone/tzfile.h
index 2dad932..fb6ca98 100644
--- a/timezone/tzfile.h
+++ b/timezone/tzfile.h
@@ -4,7 +4,7 @@
/*
** This file is in the public domain, so clarified as of
-** 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov).
+** 1996-06-05 by Arthur David Olson.
*/
/*
@@ -21,7 +21,7 @@
#ifndef lint
#ifndef NOID
-static char tzfilehid[] = "@(#)tzfile.h 7.17";
+static char tzfilehid[] = "@(#)tzfile.h 7.18";
#endif /* !defined NOID */
#endif /* !defined lint */
@@ -105,7 +105,7 @@ struct tzhead {
#ifdef NOSOLAR
/*
** Must be at least 14 for Europe/Riga as of Jan 12 1995,
-** as noted by Earl Chew <earl@hpato.aus.hp.com>.
+** as noted by Earl Chew.
*/
#define TZ_MAX_TYPES 20 /* Maximum number of local time types */
#endif /* !defined NOSOLAR */
diff --git a/timezone/zdump.c b/timezone/zdump.c
index d767d75..45ce641 100644
--- a/timezone/zdump.c
+++ b/timezone/zdump.c
@@ -1,4 +1,4 @@
-static char elsieid[] = "@(#)zdump.c 7.66";
+static char elsieid[] = "@(#)zdump.c 7.74";
/*
** This code has been made independent of the rest of the time
@@ -12,7 +12,10 @@ static char elsieid[] = "@(#)zdump.c 7.66";
#include "time.h" /* for struct tm */
#include "stdlib.h" /* for exit, malloc, atoi */
#include "float.h" /* for FLT_MAX and DBL_MAX */
-#include <ctype.h> /* for isascii, isalpha, isdigit */
+#include "ctype.h" /* for isalpha et al. */
+#ifndef isascii
+#define isascii(x) 1
+#endif
#ifndef ZDUMP_LO_YEAR
#define ZDUMP_LO_YEAR (-500)
@@ -148,7 +151,7 @@ static char * progname;
static int warned;
static char * abbr P((struct tm * tmp));
-static void abbrok P((const char * abbr, const char * zone));
+static void abbrok P((const char * abbrp, const char * zone));
static long delta P((struct tm * newp, struct tm * oldp));
static void dumptime P((const struct tm * tmp));
static time_t hunt P((char * name, time_t lot, time_t hit));
@@ -195,8 +198,8 @@ time_t * tp;
#endif /* !defined TYPECHECK */
static void
-abbrok(abbr, zone)
-const char * const abbr;
+abbrok(abbrp, zone)
+const char * const abbrp;
const char * const zone;
{
register const char * cp;
@@ -204,30 +207,31 @@ const char * const zone;
if (warned)
return;
- cp = abbr;
+ cp = abbrp;
wp = NULL;
- while (isascii(*cp) && isalpha(*cp))
+ while (isascii((unsigned char) *cp) && isalpha((unsigned char) *cp))
++cp;
- if (cp - abbr == 0)
+ if (cp - abbrp == 0)
wp = _("lacks alphabetic at start");
- if (cp - abbr < 3)
+ else if (cp - abbrp < 3)
wp = _("has fewer than 3 alphabetics");
- if (cp - abbr > 6)
+ else if (cp - abbrp > 6)
wp = _("has more than 6 alphabetics");
if (wp == NULL && (*cp == '+' || *cp == '-')) {
++cp;
- if (isascii(*cp) && isdigit(*cp))
- if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
- ++cp;
+ if (isascii((unsigned char) *cp) &&
+ isdigit((unsigned char) *cp))
+ if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
+ ++cp;
+ if (*cp != '\0')
+ wp = _("differs from POSIX standard");
}
- if (*cp != '\0')
- wp = _("differs from POSIX standard");
if (wp == NULL)
return;
(void) fflush(stdout);
(void) fprintf(stderr,
- "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n",
- progname, zone, abbr, wp);
+ _("%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"),
+ progname, zone, abbrp, wp);
warned = TRUE;
}
@@ -266,7 +270,7 @@ char * argv[];
for (i = 1; i < argc; ++i)
if (strcmp(argv[i], "--version") == 0) {
(void) printf("%s\n", elsieid);
- (void) exit(EXIT_SUCCESS);
+ exit(EXIT_SUCCESS);
}
vflag = 0;
cutarg = NULL;
@@ -279,7 +283,7 @@ char * argv[];
(void) fprintf(stderr,
_("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
progname, progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if (vflag) {
if (cutarg != NULL) {
@@ -296,7 +300,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
} else {
(void) fprintf(stderr, _("%s: wild -c argument %s\n"),
progname, cutarg);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
setabsolutes();
@@ -319,7 +323,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
if (fakeenv == NULL ||
(fakeenv[0] = (char *) malloc(longest + 4)) == NULL) {
(void) perror(progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
to = 0;
(void) strcpy(fakeenv[to++], "TZ=");
@@ -386,7 +390,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
if (fflush(stdout) || ferror(stdout)) {
(void) fprintf(stderr, "%s: ", progname);
(void) perror(_("Error writing standard output"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
/* If exit fails to exit... */
@@ -410,7 +414,7 @@ setabsolutes()
(void) fprintf(stderr,
_("%s: use of -v on system with floating time_t other than float or double\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
} else if (0 > (time_t) -1) {
/*
@@ -510,7 +514,7 @@ time_t hit;
}
/*
-** Thanks to Paul Eggert (eggert@twinsun.com) for logic used in delta.
+** Thanks to Paul Eggert for logic used in delta.
*/
static long
diff --git a/timezone/zic.c b/timezone/zic.c
index 4e3f42f..acb76fb 100644
--- a/timezone/zic.c
+++ b/timezone/zic.c
@@ -1,4 +1,4 @@
-static char elsieid[] = "@(#)zic.c 7.124";
+static char elsieid[] = "@(#)zic.c 7.128";
/*
** Regardless of the type of time_t, we do our work using this type.
@@ -370,7 +370,7 @@ char * const ptr;
(void) fprintf(stderr, _("%s: Memory exhausted: %s\n"),
progname, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return ptr;
}
@@ -456,7 +456,7 @@ usage P((void))
[ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"),
progname, progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
static const char * psxrules;
@@ -489,7 +489,7 @@ char * argv[];
for (i = 1; i < argc; ++i)
if (strcmp(argv[i], "--version") == 0) {
(void) printf("%s\n", elsieid);
- (void) exit(EXIT_SUCCESS);
+ exit(EXIT_SUCCESS);
}
while ((c = getopt(argc, argv, "d:l:p:L:vsy:")) != EOF && c != -1)
switch (c) {
@@ -502,7 +502,7 @@ char * argv[];
(void) fprintf(stderr,
_("%s: More than one -d option specified\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
case 'l':
@@ -512,7 +512,7 @@ _("%s: More than one -d option specified\n"),
(void) fprintf(stderr,
_("%s: More than one -l option specified\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
case 'p':
@@ -522,7 +522,7 @@ _("%s: More than one -l option specified\n"),
(void) fprintf(stderr,
_("%s: More than one -p option specified\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
case 'y':
@@ -532,7 +532,7 @@ _("%s: More than one -p option specified\n"),
(void) fprintf(stderr,
_("%s: More than one -y option specified\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
case 'L':
@@ -542,7 +542,7 @@ _("%s: More than one -y option specified\n"),
(void) fprintf(stderr,
_("%s: More than one -L option specified\n"),
progname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
case 'v':
@@ -569,7 +569,7 @@ _("%s: More than one -L option specified\n"),
for (i = optind; i < argc; ++i)
infile(argv[i]);
if (errors)
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
associate();
for (i = 0; i < nzones; i = j) {
/*
@@ -634,7 +634,7 @@ const char * const tofile;
int result;
if (mkdirs(toname) != 0)
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
result = link(fromname, toname);
#if HAVE_SYMLINK
@@ -648,14 +648,14 @@ const char * const tofile;
symlinkcontents =
ecatalloc(symlinkcontents,
"../");
- symlinkcontents =
- ecatalloc(symlinkcontents,
- fromname);
- result = symlink(symlinkcontents,
- toname);
- if (result == 0)
+ symlinkcontents =
+ ecatalloc(symlinkcontents,
+ fromname);
+ result = symlink(symlinkcontents,
+ toname);
+ if (result == 0)
warning(_("hard link failed, symbolic link used"));
- ifree(symlinkcontents);
+ ifree(symlinkcontents);
}
#endif /* HAVE_SYMLINK */
if (result != 0) {
@@ -664,7 +664,7 @@ warning(_("hard link failed, symbolic link used"));
(void) fprintf(stderr,
_("%s: Can't link from %s to %s: %s\n"),
progname, fromname, toname, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
ifree(fromname);
@@ -825,7 +825,7 @@ associate P((void))
}
}
if (errors)
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
static void
@@ -849,7 +849,7 @@ const char * name;
(void) fprintf(stderr, _("%s: Can't open %s: %s\n"),
progname, name, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
wantcont = FALSE;
for (num = 1; ; ++num) {
@@ -859,7 +859,7 @@ const char * name;
cp = strchr(buf, '\n');
if (cp == NULL) {
error(_("line too long"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
*cp = '\0';
fields = getfields(buf);
@@ -903,7 +903,7 @@ _("%s: Leap line in non leap seconds file %s\n"),
(void) fprintf(stderr,
_("%s: panic: Invalid l_value %d\n"),
progname, lp->l_value);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
ifree((char *) fields);
@@ -911,14 +911,14 @@ _("%s: panic: Invalid l_value %d\n"),
if (ferror(fp)) {
(void) fprintf(stderr, _("%s: Error reading %s\n"),
progname, filename);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if (fp != stdin && fclose(fp)) {
const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Error closing %s: %s\n"),
progname, filename, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if (wantcont)
error(_("expected continuation line not found"));
@@ -1324,7 +1324,7 @@ const char * const timep;
(void) fprintf(stderr,
_("%s: panic: Invalid l_value %d\n"),
progname, lp->l_value);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
} else if (sscanf(cp, scheck(cp, "%d"), &rp->r_loyear) != 1) {
error(_("invalid starting year"));
return;
@@ -1349,7 +1349,7 @@ const char * const timep;
(void) fprintf(stderr,
_("%s: panic: Invalid l_value %d\n"),
progname, lp->l_value);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
} else if (sscanf(cp, scheck(cp, "%d"), &rp->r_hiyear) != 1) {
error(_("invalid ending year"));
return;
@@ -1520,17 +1520,17 @@ const char * const name;
(void) fprintf(stderr, _("%s: Can't remove %s: %s\n"),
progname, fullname, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if ((fp = fopen(fullname, "wb")) == NULL) {
if (mkdirs(fullname) != 0)
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
if ((fp = fopen(fullname, "wb")) == NULL) {
const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Can't create %s: %s\n"),
progname, fullname, e);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
convert(eitol(typecnt), tzh.tzh_ttisgmtcnt);
@@ -1597,7 +1597,7 @@ const char * const name;
if (ferror(fp) || fclose(fp)) {
(void) fprintf(stderr, _("%s: Error writing %s\n"),
progname, fullname);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
@@ -1648,7 +1648,7 @@ const int zonecount;
typecnt = 0;
charcnt = 0;
/*
- ** Thanks to Earl Chew (earl@dnd.icp.nec.com.au)
+ ** Thanks to Earl Chew
** for noting the need to unconditionally initialize startttisstd.
*/
startttisstd = FALSE;
@@ -1830,7 +1830,7 @@ int type;
}
if (timecnt >= TZ_MAX_TIMES) {
error(_("too many transitions?!"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
attypes[timecnt].at = starttime;
attypes[timecnt].type = type;
@@ -1849,15 +1849,15 @@ const int ttisgmt;
if (isdst != TRUE && isdst != FALSE) {
error(_("internal error - addtype called with bad isdst"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if (ttisstd != TRUE && ttisstd != FALSE) {
error(_("internal error - addtype called with bad ttisstd"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
if (ttisgmt != TRUE && ttisgmt != FALSE) {
error(_("internal error - addtype called with bad ttisgmt"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
/*
** See if there's already an entry for this zone type.
@@ -1876,7 +1876,7 @@ const int ttisgmt;
*/
if (typecnt >= TZ_MAX_TYPES) {
error(_("too many local time types"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
gmtoffs[i] = gmtoff;
isdsts[i] = isdst;
@@ -1904,13 +1904,13 @@ int count;
if (leapcnt + (positive ? count : 1) > TZ_MAX_LEAPS) {
error(_("too many leap seconds"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
for (i = 0; i < leapcnt; ++i)
if (t <= trans[i]) {
if (t == trans[i]) {
error(_("repeated leap second moment"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
break;
}
@@ -1965,7 +1965,7 @@ const char * const type;
(void) fprintf(stderr, _("%s: command was '%s', result was %d\n"),
progname, buf, result);
for ( ; ; )
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
static int
@@ -2046,8 +2046,9 @@ register char * cp;
emalloc((int) ((strlen(cp) + 1) * sizeof *array));
nsubs = 0;
for ( ; ; ) {
- while (isascii(*cp) && isspace((unsigned char) *cp))
- ++cp;
+ while (isascii((unsigned char) *cp) &&
+ isspace((unsigned char) *cp))
+ ++cp;
if (*cp == '\0' || *cp == '#')
break;
array[nsubs++] = dp = cp;
@@ -2080,7 +2081,7 @@ const long t2;
t = t1 + t2;
if ((t2 > 0 && t <= t1) || (t2 < 0 && t >= t1)) {
error(_("time overflow"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return t;
}
@@ -2099,7 +2100,7 @@ const long t2;
t = t1 + t2;
if ((t2 > 0 && t <= t1) || (t2 < 0 && t >= t1)) {
error(_("time overflow"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return t;
}
@@ -2146,7 +2147,7 @@ register const int wantedy;
--i;
else {
error(_("use of 2/29 in non leap-year"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
--i;
@@ -2210,8 +2211,9 @@ const char * const string;
*/
cp = string;
wp = NULL;
- while (isascii(*cp) && isalpha(*cp))
- ++cp;
+ while (isascii((unsigned char) *cp) &&
+ isalpha((unsigned char) *cp))
+ ++cp;
if (cp - string == 0)
wp = _("time zone abbreviation lacks alphabetic at start");
if (noise && cp - string > 3)
@@ -2220,9 +2222,11 @@ wp = _("time zone abbreviation has more than 3 alphabetics");
wp = _("time zone abbreviation has too many alphabetics");
if (wp == NULL && (*cp == '+' || *cp == '-')) {
++cp;
- if (isascii(*cp) && isdigit(*cp))
- if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
- ++cp;
+ if (isascii((unsigned char) *cp) &&
+ isdigit((unsigned char) *cp))
+ if (*cp++ == '1' &&
+ *cp >= '0' && *cp <= '4')
+ ++cp;
}
if (*cp != '\0')
wp = _("time zone abbreviation differs from POSIX standard");
@@ -2238,7 +2242,7 @@ wp = _("time zone abbreviation differs from POSIX standard");
i = strlen(string) + 1;
if (charcnt + i > TZ_MAX_CHARS) {
error(_("too many, or too long, time zone abbreviations"));
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
(void) strcpy(&chars[charcnt], string);
charcnt += eitol(i);
@@ -2302,7 +2306,7 @@ const int i;
(void) fprintf(stderr,
_("%s: %d did not sign extend correctly\n"),
progname, i);
- (void) exit(EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return l;
}