aboutsummaryrefslogtreecommitdiff
path: root/time
diff options
context:
space:
mode:
Diffstat (limited to 'time')
-rw-r--r--time/README38
-rw-r--r--time/africa256
-rw-r--r--time/strptime.c6
-rw-r--r--time/tzfile.c6
-rw-r--r--time/tzset.c10
5 files changed, 162 insertions, 154 deletions
diff --git a/time/README b/time/README
index c189555..1c31601 100644
--- a/time/README
+++ b/time/README
@@ -1,28 +1,14 @@
-The source files
- `zic.c'
- `zdump.c'
- `tzselect.ksh'
- `checktab.awk'
-come from the tzcode1997g package by Arthur David Olsen et.al.
+The files
+ zic.c zdump.c ialloc.c scheck.c tzfile.h
+ private.h tzselect.ksh checktab.awk
+come from the tzcode1997g package by Arthur David Olson et.al.
The files
- `africa'
- `antarctica'
- `asia'
- `australasia'
- `europe'
- `northamerica'
- `southamerica'
- `pacificnew'
- `etcetera'
- `factory'
- `backward'
- `systemv'
- `solar87'
- `solar88'
- `solar89'
- `iso3166.tab'
- `zone.tab'
- `leapseconds'
- `yearistype'
-come from the tzdata1997h package by Arthur David Olsen et.al.
+ africa antarctica asia australasia europe
+ northamerica southamerica pacificnew etcetera factory
+ backward systemv solar87 solar88 solar89
+ iso3166.tab zone.tab leapseconds yearistype
+come from the tzdata1997i package by Arthur David Olson et.al.
+
+These packages may be found at ftp://elsie.nci.nih.gov/pub/. Commentary
+should be addressed to tz@elsie.nci.nih.gov.
diff --git a/time/africa b/time/africa
index 5c9608c..f58719d 100644
--- a/time/africa
+++ b/time/africa
@@ -1,14 +1,14 @@
-# @(#)africa 7.19
+# @(#)africa 7.20
# 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
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1996-11-22):
+# From Paul Eggert <eggert@twinsun.com> (1997-10-05):
#
# A good source for time zone historical data outside the U.S. is
-# Thomas G. Shanks, The International Atlas (3rd edition),
-# San Diego: ACS Publications, Inc. (1991).
+# Thomas G. Shanks, The International Atlas (4th edition),
+# San Diego: ACS Publications, Inc. (1995).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@@ -27,16 +27,40 @@
# Derek Howse, Greenwich time and the discovery of the longitude,
# Oxford University Press (1980).
#
-# For Africa I invented the following time zone abbreviations.
-# LMT Local Mean Time
-# -1:00 AAT Atlantic Africa Time (no longer used)
-# 0:00 WAT West Africa Time
-# 1:00 CAT Central Africa Time
-# 2:00 SAT South Africa Time
+# Previous editions of this database used WAT, CAT, SAT, and EAT
+# for +0:00 through +3:00, respectively,
+# but Mark R V Murray <markm@iafrica.com> reports that
+# `SAST' is the official abbreviation for +2:00 in the country of South Africa,
+# `CAT' is commonly used for +2:00 in countries north of South Africa, and
+# `WAT' is probably the best name for +1:00, as the common phrase for
+# the area that includes Nigeria is ``West Africa''.
+# He has heard of ``Western Sahara Time'' for +0:00 but can find no reference.
+#
+# To make things confusing, `WAT' seems to have been used for -1:00 long ago;
+# I'd guess that this was because people needed _some_ name for -1:00,
+# and at the time, far west Africa was the only major land area in -1:00.
+# This usage is now obsolete, as the last use of -1:00 on the African
+# mainland seems to have been 1976 in Western Sahara.
+#
+# To summarize, the following abbreviations seem to have some currency:
+# -1:00 WAT West Africa Time (no longer used)
+# 0:00 GMT Greenwich Mean Time
+# 2:00 CAT Central Africa Time
+# 2:00 SAST South Africa Standard Time
+# and Murray suggests the following abbreviation:
+# 1:00 WAT West Africa Time
+# I realize that this leads to `WAT' being used for both -1:00 and 1:00
+# for times before 1976, but this is the best I can think of
+# until we get more information.
+#
+# I invented the following abbreviations; corrections are welcome!
+# 2:00 WAST West Africa Summer Time
+# 2:30 BEAT British East Africa Time (no longer used)
+# 2:45 BEAUT British East Africa Unified Time (no longer used)
+# 3:00 CAST Central Africa Summer Time (no longer used)
+# 3:00 SAST South Africa Summer Time (no longer used)
# 3:00 EAT East Africa Time
-# The final `T' is replaced by `ST' for summer time, e.g. `SAST'.
-# BEAT is British East Africa Time, which was 2:30 before 1948 and 2:45 after.
-
+# 4:00 EAST East Africa Summer Time (no longer used)
# Algeria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -79,7 +103,7 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Luanda 0:52:56 - LMT 1892
0:52:04 - LMT 1911 May 26 # Luanda Mean Time?
- 1:00 - CAT
+ 1:00 - WAT
# Bassas da India
# uninhabited
@@ -88,31 +112,31 @@ Zone Africa/Luanda 0:52:56 - LMT 1892
# Whitman says they switched to 1:00 in 1946, not 1934; go with Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Porto-Novo 0:10:28 - LMT 1912
- 0:00 - WAT 1934 Feb 26
- 1:00 - CAT
+ 0:00 - GMT 1934 Feb 26
+ 1:00 - WAT
# Botswana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Gaborone 1:43:40 - LMT 1885
- 2:00 - SAT 1943 Sep 19 2:00
- 2:00 1:00 SAST 1944 Mar 19 2:00
- 2:00 - SAT
+ 2:00 - CAT 1943 Sep 19 2:00
+ 2:00 1:00 CAST 1944 Mar 19 2:00
+ 2:00 - CAT
# Burkina Faso
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Ouagadougou -0:06:04 - LMT 1912
- 0:00 - WAT
+ 0:00 - GMT
# Burundi
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bujumbura 1:57:28 - LMT 1890
- 2:00 - SAT
+ 2:00 - CAT
# Cameroon
# Whitman says they switched to 1:00 in 1920; go with Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Douala 0:38:48 - LMT 1912
- 1:00 - CAT
+ 1:00 - WAT
# Cape Verde
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -125,14 +149,14 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia
# Central African Republic
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bangui 1:14:20 - LMT 1912
- 1:00 - CAT
+ 1:00 - WAT
# Chad
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912
- 1:00 - CAT 1979 Oct 14
- 1:00 1:00 CAST 1980 Mar 8
- 1:00 - CAT
+ 1:00 - WAT 1979 Oct 14
+ 1:00 1:00 WAST 1980 Mar 8
+ 1:00 - WAT
# Comoros
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -142,19 +166,19 @@ Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro
# Democratic Republic of Congo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9
- 1:00 - CAT
+ 1:00 - WAT
Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
- 2:00 - SAT
+ 2:00 - CAT
# Republic of the Congo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Brazzaville 1:01:08 - LMT 1912
- 1:00 - CAT
+ 1:00 - WAT
# Cote D'Ivoire
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
- 0:00 - WAT
+ 0:00 - GMT
# Djibouti
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -165,18 +189,6 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul
# Egypt
-# From Bob Devine (1988-01-28):
-# Egypt: DST from first day of May to first of October (ending may
-# also be on Sept 30th not 31st -- you might want to ask one of the
-# soc.* groups, you might hit someone who could ask an embassy).
-# DST since 1960 except for 1981-82.
-
-# From U. S. Naval Observatory (1989-01-19):
-# EGYPT 2 H AHEAD OF UTC
-# EGYPT 3 H AHEAD OF UTC MAY 17 - SEP 30 (AFTER
-# EGYPT RAMADAN)
-
-# From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Egypt 1940 only - Jul 15 0:00 1:00 S
Rule Egypt 1940 only - Oct 1 0:00 0 -
@@ -191,16 +203,15 @@ Rule Egypt 1957 1958 - Oct 1 0:00 0 -
Rule Egypt 1958 only - May 1 0:00 1:00 S
Rule Egypt 1959 1981 - May 1 1:00 1:00 S
Rule Egypt 1959 1965 - Sep 30 3:00 0 -
-Rule Egypt 1966 1990 - Oct 1 3:00 0 -
+Rule Egypt 1966 1994 - Oct 1 3:00 0 -
Rule Egypt 1982 only - Jul 25 1:00 1:00 S
Rule Egypt 1983 only - Jul 12 1:00 1:00 S
Rule Egypt 1984 1988 - May 1 1:00 1:00 S
Rule Egypt 1989 only - May 6 1:00 1:00 S
-Rule Egypt 1990 only - May 1 1:00 1:00 S
-Rule Egypt 1991 1994 - May 1 0:00 1:00 S
-Rule Egypt 1991 1994 - Oct 1 0:00 0 -
-Rule Egypt 1995 max - Apr lastFri 0:00 1:00 S
-Rule Egypt 1995 max - Sep lastFri 0:00 0 -
+Rule Egypt 1990 1994 - May 1 1:00 1:00 S
+# IATA (after 1990) says transitions are at 0:00; go with Shanks.
+Rule Egypt 1995 max - Apr lastFri 1:00 1:00 S
+Rule Egypt 1995 max - Sep lastFri 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
@@ -209,20 +220,24 @@ Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
# Equatorial Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Malabo 0:35:08 - LMT 1912
- 0:00 - WAT 1963 Dec 15
- 1:00 - CAT
+ 0:00 - GMT 1963 Dec 15
+ 1:00 - WAT
# Eritrea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Asmera 2:35:32 - LMT 1870
2:35:32 - AMT 1890 # Asmera Mean Time
- 2:35:20 - AAMT 1936 May 5 # Addis Ababa MT?
+ 2:35:20 - ADMT 1936 May 5 # Adis Dera MT
3:00 - EAT
# Ethiopia
+# From Paul Eggert (1997-10-05):
+# Shanks writes that Ethiopia had six narrowly-spaced time zones between
+# 1870 and 1890, and that they merged to 38E50 (2:35:20) in 1890.
+# We'll guess that 38E50 is for Adis Dera.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
- 2:35:20 - AAMT 1936 May 5 # Addis Ababa MT?
+ 2:35:20 - ADMT 1936 May 5 # Adis Dera MT
3:00 - EAT
# Europa Island
@@ -231,23 +246,20 @@ Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
# Gabon
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Libreville 0:37:48 - LMT 1912
- 1:00 - CAT
+ 1:00 - WAT
# Gambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Banjul -1:06:36 - LMT 1912
-1:06:36 - BMT 1935 # Banjul Mean Time
- -1:00 - AAT 1964
- 0:00 - WAT
+ -1:00 - WAT 1964
+ 0:00 - GMT
# Ghana
-# From Paul Eggert <eggert@twinsun.com> (1996-09-03):
-# WATST is my invention for ``West Africa one-Third Summer Time''.
-# From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman says DST was observed from 1931 to ``the present''; go with Shanks.
-Rule Ghana 1936 1942 - Sep 1 0:00 0:20 WATST
-Rule Ghana 1936 1942 - Dec 31 0:00 0 WAT
+Rule Ghana 1936 1942 - Sep 1 0:00 0:20 GHST
+Rule Ghana 1936 1942 - Dec 31 0:00 0 GMT
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918
0:00 Ghana %s
@@ -258,35 +270,33 @@ Zone Africa/Accra -0:00:52 - LMT 1918
# Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Conakry -0:54:52 - LMT 1912
- 0:00 - WAT 1934 Feb 26
- 1:00 - CAT 1960
- 0:00 - WAT
+ 0:00 - GMT 1934 Feb 26
+ -1:00 - WAT 1960
+ 0:00 - GMT
# Guinea-Bissau
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bissau -1:02:20 - LMT 1911 May 26
- 1:00 - CAT 1975
- 0:00 - WAT
+ -1:00 - WAT 1975
+ 0:00 - GMT
# Juan de Nova
# uninhabited
# Kenya
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
-# Shanks says the transition to 2:45 was in 1940, but it must have been 1948.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
- 2:30 - BEAT 1948
- 2:45 - BEAT 1960
+ 2:30 - BEAT 1940
+ 2:45 - BEAUT 1960
3:00 - EAT
# Lesotho
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
- 2:00 - SAT 1943 Sep 19 2:00
+ 2:00 - SAST 1943 Sep 19 2:00
2:00 1:00 SAST 1944 Mar 19 2:00
- 2:00 - SAT
+ 2:00 - SAST
# Liberia
# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
@@ -297,25 +307,17 @@ Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
# For Liberia before 1972, Shanks reports -0:44, whereas Howse and Whitman
# each report -0:44:30; go with the more precise figure.
#
-# From Shanks (1991), as corrected by Whitman:
+# From Shanks, as corrected by Whitman:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - LRT 1972 May # Liberia Time
- 0:00 - WAT
+ 0:00 - GMT
###############################################################################
# Libya
-# From Bob Devine (January 28 1988):
-# Libya: Since 1982 April 1st to September 30th (?)
-
-# From U. S. Naval Observatory (1989-01-19):
-# LIBYAN ARAB 1 H AHEAD OF UTC JAMAHIRIYA/LIBYA
-# LIBYAN ARAB 2 H AHEAD OF UTC APR 1 - SEP 30 JAMAHIRIYA/LIBYA
-
-# From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Libya 1951 only - Oct 14 2:00 1:00 S
Rule Libya 1952 only - Jan 1 0:00 0 -
@@ -353,24 +355,24 @@ Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul
# Malawi
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar
- 2:00 - SAT
+ 2:00 - CAT
# Mali
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bamako -0:32:00 - LMT 1912
- 0:00 - WAT 1934 Feb 26
- -1:00 - AAT 1960 Jun 20
- 0:00 - WAT
+ 0:00 - GMT 1934 Feb 26
+ -1:00 - WAT 1960 Jun 20
+ 0:00 - GMT
# no longer different from Bamako, but too famous to omit
Zone Africa/Timbuktu -0:12:04 - LMT 1912
- 0:00 - WAT
+ 0:00 - GMT
# Mauritania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Nouakchott -1:03:48 - LMT 1912
- 0:00 - WAT 1934 Feb 26
- -1:00 - AAT 1960 Jun 20
- 0:00 - WAT
+ 0:00 - GMT 1934 Feb 26
+ -1:00 - WAT 1960 Nov 28
+ 0:00 - GMT
# Mauritius
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -385,6 +387,7 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
3:00 - EAT
# Morocco
+# See the `europe' file for Spanish Morocco (Africa/Ceuta).
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 S
Rule Morocco 1939 only - Nov 19 0:00 0 -
@@ -408,36 +411,40 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 - WET
# Western Sahara
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan
- -1:00 - AAT 1976 Apr 14
+ -1:00 - WAT 1976 Apr 14
0:00 - WET
# Mozambique
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
- 2:00 - SAT
+ 2:00 - CAT
# Namibia
+# Shanks says DST transitions are at 0:00; go with IATA.
+# The 1994-04-03 transition is from Shanks.
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S
Rule Namibia 1995 max - Apr Sun>=1 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
1:30 - SWAT 1903 Mar # SW Africa Time
- 2:00 - SAT 1942 Sep 20 2:00
+ 2:00 - SAST 1942 Sep 20 2:00
2:00 1:00 SAST 1943 Mar 21 2:00
- 2:00 Namibia SA%sT
+ 2:00 - SAST 1990 Mar 21 # independence
+ 2:00 - CAT 1994 Apr 3
+ 1:00 Namibia WA%sT
# Niger
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone Africa/Niamey 0:08:28 - LMT 1912
- 1:00 - CAT 1934 Feb 26
- 0:00 - WAT 1960
- 1:00 - CAT
+Zone Africa/Niamey 0:08:28 - LMT 1912
+ -1:00 - WAT 1934 Feb 26
+ 0:00 - GMT 1960
+ 1:00 - WAT
# Nigeria
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
- 1:00 - CAT
+ 1:00 - WAT
# Reunion
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -447,12 +454,15 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
# Rwanda
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
- 2:00 - SAT
+ 2:00 - CAT
# St Helena
+# From Paul Eggert (1997-10-05):
+# Shanks says St Helena was 1W26 (-0:05:44) from 1890 to 1951,
+# but this is most likely a typo for 5W42, the longitude of Jamestown.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
- -0:06 - SHT 1951 # St Helena Time (?)
+ -0:22:48 - JMT 1951 # Jamestown Mean Time
0:00 - GMT
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
@@ -464,13 +474,13 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
-0:36:32 - LMT 1912 # Lisbon Mean Time
- 0:00 - WAT
+ 0:00 - GMT
# Senegal
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Dakar -1:09:44 - LMT 1912
- -1:00 - AAT 1941 Jun
- 0:00 - WAT
+ -1:00 - WAT 1941 Jun
+ 0:00 - GMT
# Seychelles
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -480,34 +490,34 @@ Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
# Sierra Leone
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives Mar 31 - Aug 31 for 1931 on; go with Shanks.
-Rule SL 1935 1942 - Jun 1 0:00 1:00 S
-Rule SL 1935 1942 - Oct 1 0:00 0 -
-Rule SL 1957 1962 - Jun 1 0:00 1:00 S
-Rule SL 1957 1962 - Sep 1 0:00 0 -
+Rule SL 1935 1942 - Jun 1 0:00 0:40 SLST
+Rule SL 1935 1942 - Oct 1 0:00 0 WAT
+Rule SL 1957 1962 - Jun 1 0:00 1:00 SLST
+Rule SL 1957 1962 - Sep 1 0:00 0 GMT
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Freetown -0:53:00 - LMT 1882
-0:53:00 - FMT 1913 Jun # Freetown Mean Time
- -1:00 SL AA%sT 1957
- 0:00 SL WA%sT
+ -1:00 SL %s 1957
+ 0:00 SL %s
# Somalia
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
-# Shanks omits the 1948 transition to 2:45; this is probably a typo.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Mogadishu 3:01:28 - LMT 1893 Nov
3:00 - EAT 1931
- 2:30 - BEAT 1948
- 2:45 - BEAT 1957 # not in Shanks
+ 2:30 - BEAT 1957
3:00 - EAT
# South Africa
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 S
+Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
- 1:30 - SAT 1903 Mar
- 2:00 SA SA%sT
+ 1:30 - SAST 1903 Mar
+ 2:00 SA SAST
+# Shanks erroneously claims that most of South Africa switched to 1:00
+# on 1994-04-03 at 00:00.
+#
# Marion and Prince Edward Is
# weather station since 1947
# no information
@@ -524,24 +534,24 @@ Rule Sudan 1971 only - Apr 30 0:00 1:00 S
Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931
- 2:00 Sudan EE%sT
+ 2:00 Sudan CA%sT
# Swaziland
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar
- 2:00 - SAT
+ 2:00 - SAST
# Tanzania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931
3:00 - EAT 1948
- 2:45 - BEAT 1961
+ 2:45 - BEAUT 1961
3:00 - EAT
# Togo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lome 0:04:52 - LMT 1893
- 0:00 - WAT
+ 0:00 - GMT
# Tromelin
# uninhabited
@@ -581,15 +591,15 @@ Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
Zone Africa/Kampala 2:09:40 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - BEAT 1948
- 2:45 - BEAT 1957
+ 2:45 - BEAUT 1957
3:00 - EAT
# Zambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lusaka 1:53:08 - LMT 1903 Mar
- 2:00 - SAT
+ 2:00 - CAT
# Zimbabwe
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Harare 2:04:12 - LMT 1903 Mar
- 2:00 - SAT
+ 2:00 - CAT
diff --git a/time/strptime.c b/time/strptime.c
index 8d65071..4e91a71 100644
--- a/time/strptime.c
+++ b/time/strptime.c
@@ -180,10 +180,16 @@ static char const ab_month_name[][4] =
enum locale_status { not, loc, raw };
static char *
+#ifdef _LIBC
+internal_function
+#endif
strptime_internal __P ((const char *buf, const char *format, struct tm *tm,
enum locale_status *decided));
static char *
+#ifdef _LIBC
+internal_function
+#endif
strptime_internal (buf, format, tm, decided)
const char *buf;
const char *format;
diff --git a/time/tzfile.c b/time/tzfile.c
index 9289de6..4b891b4 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -45,8 +45,8 @@ struct leap
extern char * __tzstring (const char *); /* Defined in tzset.c. */
-static struct ttinfo *find_transition (time_t timer);
-static void compute_tzname_max (size_t);
+static struct ttinfo *find_transition (time_t timer) internal_function;
+static void compute_tzname_max (size_t) internal_function;
static size_t num_transitions;
static time_t *transitions = NULL;
@@ -382,6 +382,7 @@ __tzfile_default (const char *std, const char *dst,
}
static struct ttinfo *
+internal_function
find_transition (time_t timer)
{
size_t i;
@@ -460,6 +461,7 @@ __tzfile_compute (time_t timer, int use_localtime,
}
static void
+internal_function
compute_tzname_max (size_t chars)
{
extern size_t __tzname_cur_max; /* Defined in tzset.c. */
diff --git a/time/tzset.c b/time/tzset.c
index 6c16091..dcee9dd 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -82,9 +82,10 @@ typedef struct
static tz_rule tz_rules[2];
-static int compute_change __P ((tz_rule *rule, int year));
-static int tz_compute __P ((time_t timer, const struct tm *tm));
-static void tzset_internal __P ((int always));
+static int compute_change __P ((tz_rule *rule, int year)) internal_function;
+static int tz_compute __P ((time_t timer, const struct tm *tm))
+ internal_function;
+static void tzset_internal __P ((int always)) internal_function;
/* Header for a list of buffers containing time zone strings. */
struct tzstring_head
@@ -151,6 +152,7 @@ static char *old_tz = NULL;
/* Interpret the TZ envariable. */
static void
+internal_function
tzset_internal (always)
int always;
{
@@ -450,6 +452,7 @@ __tzname_max ()
put it in RULE->change, saving YEAR in RULE->computed_for.
Return nonzero if successful, zero on failure. */
static int
+internal_function
compute_change (rule, year)
tz_rule *rule;
int year;
@@ -535,6 +538,7 @@ compute_change (rule, year)
and set `__tzname', `__timezone', and `__daylight' accordingly.
Return nonzero on success, zero on failure. */
static int
+internal_function
tz_compute (timer, tm)
time_t timer;
const struct tm *tm;