* 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.
This commit is contained in:
Roland McGrath 2006-01-10 07:55:46 +00:00
parent 69e094203a
commit 53751fd5e5
15 changed files with 339 additions and 204 deletions

View file

@ -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.

View file

@ -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
/* TODO: Follow ABI? Place more things on the stack here... */
/* 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
#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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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):
#

View file

@ -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

View file

@ -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

View file

@ -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?

View file

@ -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.
*/
/*

View file

@ -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

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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;
}