summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--io/ftw.c6
-rw-r--r--io/ftwtest-sh19
-rw-r--r--io/ftwtest.c19
-rw-r--r--timezone/asia31
-rw-r--r--timezone/australasia61
-rw-r--r--timezone/backward3
-rw-r--r--timezone/europe7
-rw-r--r--timezone/northamerica63
-rw-r--r--timezone/southamerica49
-rw-r--r--timezone/zone.tab18
11 files changed, 220 insertions, 73 deletions
diff --git a/ChangeLog b/ChangeLog
index 546bc94f26..e34457af82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2000-12-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* timezone/asia: Update from tzdata2000h.
+	* timezone/australasia: Likewise.
+	* timezone/backward: Likewise.
+	* timezone/europe: Likewise.
+	* timezone/northamerica: Likewise.
+	* timezone/southamerica: Likewise.
+	* timezone/zone.tab: Likewise.
+
+2000-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* io/ftw.c (ftw_dir): If process_entry returned non-zero result
+	and dir.stream is NULL, only free dir.content.
+	* io/ftwtest.c (cb, main): Add --early-exit option to test it.
+	* io/ftwtest-sh: Test with --early-exit.
+
 2000-12-13  Jakub Jelinek  <jakub@redhat.com>
 
 	* misc/efgcvt.c (FCVT_MAXDIG): Define.
diff --git a/io/ftw.c b/io/ftw.c
index e832fbbc99..01abb63782 100644
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -426,15 +426,11 @@ ftw_dir (struct ftw_data *data, struct STAT *st)
       int save_err;
       char *runp = dir.content;
 
-      assert (result == 0);
-
-      while (*runp != '\0')
+      while (result == 0 && *runp != '\0')
 	{
 	  char *endp = strchr (runp, '\0');
 
 	  result = process_entry (data, &dir, runp, endp - runp);
-	  if (result != 0)
-	    break;
 
 	  runp = endp + 1;
 	}
diff --git a/io/ftwtest-sh b/io/ftwtest-sh
index 837470da47..7fc82088ec 100644
--- a/io/ftwtest-sh
+++ b/io/ftwtest-sh
@@ -5,10 +5,12 @@ objpfx=$1
 
 # We expect one parameter which is the test program.  This must understand
 # a number options:
-#   --phys	use the FTW_PHYS flag
-#   --chdir	use the FTW_CHDIR and print the current directory in the
-#		callback
-#   --depth	use the FTW_DEPTH flag
+#   --phys		use the FTW_PHYS flag
+#   --chdir		use the FTW_CHDIR and print the current directory
+#			in the callback
+#   --depth		use the FTW_DEPTH flag
+#   --early-exit 	print file@2 item only and return non-zero from the
+#			callback when it is seen
 testprogram=$2
 
 # We cannot test this as root.
@@ -136,6 +138,15 @@ base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd
 EOF
 rm $testout
 
+LD_LIBRARY_PATH=$objpfx $ldso $testprogram --early-exit $tmpdir |
+    sort > $testout
+
+cat <<EOF | cmp $testout - || exit 1
+base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F, level = 4
+succeeded
+EOF
+rm $testout
+
 rm -fr $tmpdir
 
 exit 0
diff --git a/io/ftwtest.c b/io/ftwtest.c
index 6079265175..851ed1d587 100644
--- a/io/ftwtest.c
+++ b/io/ftwtest.c
@@ -3,6 +3,7 @@
 #include <mcheck.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/stat.h>
 
@@ -10,12 +11,14 @@
 int do_depth;
 int do_chdir;
 int do_phys;
+int do_exit;
 
 struct option options[] =
 {
   { "depth", no_argument, &do_depth, 1 },
   { "chdir", no_argument, &do_chdir, 1 },
   { "phys", no_argument, &do_phys, 1 },
+  { "early-exit", no_argument, &do_exit, 1 },
   { NULL, 0, NULL, 0 }
 };
 
@@ -31,9 +34,12 @@ const char *flag2name[] =
 };
 
 
-int
+static int
 cb (const char *name, const struct stat *st, int flag, struct FTW *f)
 {
+  if (do_exit && strcmp (name + f->base, "file@2"))
+    return 0;
+
   printf ("base = \"%.*s\", file = \"%s\", flag = %s",
 	  f->base, name, name + f->base, flag2name[flag]);
   if (do_chdir)
@@ -43,7 +49,7 @@ cb (const char *name, const struct stat *st, int flag, struct FTW *f)
       free (cwd);
     }
   printf (", level = %d\n", f->level);
-  return 0;
+  return do_exit ? 26 : 0;
 }
 
 int
@@ -64,8 +70,13 @@ main (int argc, char *argv[])
   if (do_phys)
     flag |= FTW_PHYS;
 
-  r = nftw (optind < argc ? argv[optind] : ".", cb, 3, flag);
-  if (r)
+  r = nftw (optind < argc ? argv[optind] : ".", cb, do_exit ? 1 : 3, flag);
+  if (r < 0)
     perror ("nftw");
+  if (do_exit)
+    {
+      puts (r == 26 ? "succeeded" : "failed");
+      return r == 26 ? 0 : 1;
+    }
   return r;
 }
diff --git a/timezone/asia b/timezone/asia
index 287060ae98..9c9ee54fc8 100644
--- a/timezone/asia
+++ b/timezone/asia
@@ -1,4 +1,4 @@
-# @(#)asia	7.57
+# @(#)asia	7.58
 
 # 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
@@ -116,7 +116,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# Al Manamah
 
 # Bangladesh
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Asia/Dacca	6:01:40 -	LMT	1890
+Zone	Asia/Dhaka	6:01:40 -	LMT	1890
 			5:53:20	-	HMT	1941 Oct    # Howrah Mean Time?
 			6:30	-	BURT	1942 May 15 # Burma Time
 			5:30	-	IST	1942 Sep
@@ -330,12 +330,35 @@ Zone	Asia/Tbilisi	2:59:16 -	LMT	1880
 			4:00 E-EurAsia	GE%sT
 
 # East Timor
+
+# From Joao Carrascalao, brother of the former governor of East Timor, in
+# <a href="http://etan.org/et99c/december/26-31/30ETMAY.htm">
+# East Timor may be late for its millennium
+# </a> (1999-12-26/31):
+# Portugal tried to change the time forward in 1974 because the sun
+# rises too early but the suggestion raised a lot of problems with the
+# Timorese and I still don't think it would work today because it
+# conflicts with their way of life.
+
+# From Paul Eggert (2000-12-04):
+# We don't have any record of the above attempt.
+# Most likely our records are incomplete, but we have no better data.
+
+# <a href="http://www.hri.org/news/world/undh/last/00-08-16.undh.html">
+# From Manoel de Almeida e Silva, Deputy Spokesman for the UN Secretary-General
+# (2000-08-16)</a>:
+# The Cabinet of the East Timor Transition Administration decided
+# today to advance East Timor's time by one hour.  The time change,
+# which will be permanent, with no seasonal adjustment, will happen at
+# midnight on Saturday, September 16.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Dili	8:22:20 -	LMT	1912
-			8:00	-	TPT	1942 Feb 21 23:00
+			8:00	-	TPT	1942 Feb 21 23:00 # E Timor Time
 			9:00	-	JST	1945 Aug
 			9:00	-	TPT	1976 May  3
-			8:00	-	TPT	# East Timor Time
+			8:00	-	TPT	2000 Sep 17 00:00
+			9:00	-	TPT
 
 # India
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
diff --git a/timezone/australasia b/timezone/australasia
index 15683747a4..13bf8591ff 100644
--- a/timezone/australasia
+++ b/timezone/australasia
@@ -1,4 +1,4 @@
-# @(#)australasia	7.60
+# @(#)australasia	7.61
 # This file also includes Pacific islands.
 
 # Notes are at the end of this file
@@ -153,14 +153,14 @@ Zone Australia/Broken_Hill 9:25:48 -	LMT	1895 Feb
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	LH	1981	1984	-	Oct	lastSun	2:00s	1:00	-
 Rule	LH	1982	1985	-	Mar	Sun>=1	2:00s	0	-
-Rule	LH	1985	only	-	Oct	lastSun	2:30s	0:30	-
-Rule	LH	1986	1989	-	Mar	Sun>=15	2:30s	0	-
-Rule	LH	1986	only	-	Oct	19	2:30s	0:30	-
-Rule	LH	1987	1999	-	Oct	lastSun	2:30s	0:30	-
-Rule	LH	1990	1995	-	Mar	Sun>=1	2:30s	0	-
-Rule	LH	1996	max	-	Mar	lastSun	2:30s	0	-
-Rule	LH	2000	only	-	Aug	lastSun	2:30s	0:30	-
-Rule	LH	2001	max	-	Oct	lastSun	2:30s	0:30	-
+Rule	LH	1985	only	-	Oct	lastSun	2:00s	0:30	-
+Rule	LH	1986	1989	-	Mar	Sun>=15	2:00s	0	-
+Rule	LH	1986	only	-	Oct	19	2:00s	0:30	-
+Rule	LH	1987	1999	-	Oct	lastSun	2:00s	0:30	-
+Rule	LH	1990	1995	-	Mar	Sun>=1	2:00s	0	-
+Rule	LH	1996	max	-	Mar	lastSun	2:00s	0	-
+Rule	LH	2000	only	-	Aug	lastSun	2:00s	0:30	-
+Rule	LH	2001	max	-	Oct	lastSun	2:00s	0:30	-
 Zone Australia/Lord_Howe 10:36:20 -	LMT	1895 Feb
 			10:00	-	EST	1981 Mar
 			10:30	LH	LHST
@@ -203,8 +203,8 @@ Zone	Indian/Cocos	6:30	-	CCT	# Cocos Islands Time
 
 # Fiji
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Fiji	1998	max	-	Nov	Sun>=1	2:00	1:00	S
-Rule	Fiji	1999	max	-	Feb	lastSun	3:00	0	-
+Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
+Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -391,8 +391,10 @@ Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
 
 # Tonga
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Tonga	1999	max	-	Oct	Sat>=1	2:00s	1:00	S
-Rule	Tonga	2000	max	-	Apr	Sun>=16	2:00s	0	-
+Rule	Tonga	1999	only	-	Oct	 7	2:00s	1:00	S
+Rule	Tonga	2000	only	-	Mar	19	2:00s	0	-
+Rule	Tonga	2000	only	-	Nov	 4	2:00s	1:00	S
+Rule	Tonga	2001	only	-	Jan	27	2:00s	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Pacific/Tongatapu	12:19:20 -	LMT	1901
 			12:20	-	TOT	1941 # Tonga Time
@@ -824,9 +826,8 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # Hill, and Victoria will be August 27, presumably due to the Sydney Olympics.
 
 # From Eric Ulevik, referring to Sydney's Sun Herald (2000-08-13), page 29:
-# Twin Towns Services Club (in Tweed Heads, near the Queensland border)
-# will maintain Queensland time. The Queensland Premier Peter Beattie
-# is encouraging northern NSW towns to use Queensland time.
+# The Queensland Premier Peter Beattie is encouraging northern NSW
+# towns to use Queensland time.
 
 # Yancowinna
 
@@ -868,17 +869,15 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # arrangements.  The starting date for summer time on the Island will
 # however always coincide with the rest of NSW.
 
-# From Jesper Norgaard <jnorgard@Prodigy.net.mx> (2000-09-04):
-# James Lonergan said that the island always tries to stay in sync
-# with the rest of NSW at all time except for the fact that they stay
-# ahead half an hour when DST is not observed. If this is interpreted
-# literally, they should change clocks at the exact moment that
-# e.g. Canberra changes from normal to daylight saving and vice versa.
+# From James Lonergan, Secretary, Lord Howe Island Board (2000-10-25):
+# Lord Howe Island advances clocks by 30 minutes during DST in NSW and retards
+# clocks by 30 minutes when DST finishes. Since DST was most recently
+# introduced in NSW, the "changeover" time on the Island has been 02:00 as
+# shown on clocks on LHI. I guess this means that for 30 minutes at the start
+# of DST, LHI is actually 1 hour ahead of the rest of NSW.
 
-# From Paul Eggert (2000-10-02):
+# From Paul Eggert (2000-10-25):
 # For Lord Howe we use Shanks through 1989, and Lonergan thereafter,
-# However, as per Norgaard we modify Shanks by assuming 02:30s switchover
-# for half-hour DST.
 
 ###############################################################################
 
@@ -945,6 +944,8 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # islands in the effort to attract tourists to witness the dawning of the new
 # millenium.
 
+# http://www.fiji.gov.fj/press/2000_09/2000_09_13-05.shtml (2000-09-13)
+# reports that Fiji has discontinued DST.
 
 # Johnston
 
@@ -1097,6 +1098,16 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # Tonga started its Daylight Saving on Saturday morning October 2nd at 0200am.
 # Daylight Saving ends on April 16 at 0300am which is Sunday morning.
 
+# From Steffen Thorsen (2000-10-31):
+# Back in March I found a notice on the website http://www.tongaonline.com
+# that Tonga changed back to standard time one month early, on March 19
+# instead of the original reported date April 16. Unfortunately, the article
+# is no longer available on the site, and I did not make a copy of the
+# text, and I have forgotten to report it here.
+# (Original URL was: http://www.tongaonline.com/news/march162000.htm )
+
+# From Rives McDow (2000-12-01):
+# Tonga is observing DST as of 2000-11-04 and will stop on 2001-01-27.
 
 ###############################################################################
 
diff --git a/timezone/backward b/timezone/backward
index ba3b254463..2fb35afd37 100644
--- a/timezone/backward
+++ b/timezone/backward
@@ -1,4 +1,4 @@
-# @(#)backward	7.18
+# @(#)backward	7.19
 
 # This file provides links between current names for time zones
 # and their old names.  Many names changed in late 1993.
@@ -8,6 +8,7 @@ Link	America/Tijuana		America/Ensenada
 Link	America/Indianapolis	America/Fort_Wayne
 Link	America/Indiana/Knox	America/Knox_IN
 Link	America/St_Thomas	America/Virgin
+Link	Asia/Dhaka		Asia/Dacca
 Link	Asia/Ashgabat		Asia/Ashkhabad
 Link	Asia/Jerusalem		Asia/Tel_Aviv
 Link	Asia/Thimphu		Asia/Thimbu
diff --git a/timezone/europe b/timezone/europe
index 5febba1783..d4869109be 100644
--- a/timezone/europe
+++ b/timezone/europe
@@ -1,4 +1,4 @@
-# @(#)europe	7.74
+# @(#)europe	7.75
 
 # 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
@@ -164,15 +164,14 @@
 # main SHAEF archives held in the US National Archives, SHAEF/5252/8/516)
 # agree that the usage is BDST (this appears in a message dated 17 Feb 1945).
 
-# From Joseph S. Meyers (2000-08-10):
+# From Joseph S. Myers (2000-10-03):
 # On 18th April 1941, Sir Stephen Tallents of the BBC wrote to Sir
 # Alexander Maxwell of the Home Office asking whether there was any
 # official designation; the reply of the 21st was that there wasn't
 # but he couldn't think of anything better than the "Double British
 # Summer Time" that the BBC had been using informally.
-# I've put a copy of the Home Office letter at
+# http://student.cusu.cam.ac.uk/~jsm28/british-time/bbc-19410418.png
 # http://student.cusu.cam.ac.uk/~jsm28/british-time/ho-19410421.png
-# and the BBC letter may follow if I get permission from the BBC.
 
 # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21):
 # [N]o official designation has as far as I know been adopted for the time
diff --git a/timezone/northamerica b/timezone/northamerica
index 19dea11371..dbaae340eb 100644
--- a/timezone/northamerica
+++ b/timezone/northamerica
@@ -1,4 +1,4 @@
-# @(#)northamerica	7.53
+# @(#)northamerica	7.54
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -476,10 +476,8 @@ Link America/Louisville America/Kentucky/Louisville
 # From Rich Wales (2000-08-29):
 # After prolonged debate, and despite continuing deep differences of opinion,
 # Wayne County (central Kentucky) is switching from Central (-0600) to Eastern
-# (-0500) time.  They won't "fall back" this year.  See:
-# <a href="http://www.nandotimes.com/nation/story/body/0,1037,500244845-500362432-502132762-0,00.html">
-# Sara Shipley, the difference an hour makes (2000-08-29 15:33 -0400)
-# </a>
+# (-0500) time.  They won't "fall back" this year.  See Sara Shipley,
+# The difference an hour makes, Nando Times (2000-08-29 15:33 -0400).
 Zone America/Kentucky/Monticello -5:39:24 - LMT	1883 Nov 18 12:00
 			-6:00	US	C%sT	1946
 			-6:00	-	CST	1968
@@ -1089,6 +1087,23 @@ Zone America/Dawson_Creek -8:00:56 -	LMT	1884
 # Central Time and Southampton Island [in the Central zone] is not
 # required to use daylight savings.
 
+# From
+# <a href="http://www.nunatsiaq.com/archives/nunavut001130/nvt21110_02.html">
+# Nunavut now has two time zones
+# </a> (2000-11-10):
+# The Nunavut government would allow its employees in Kugluktuk and
+# Cambridge Bay to operate on central time year-round, putting them
+# one hour behind the rest of Nunavut for six months during the winter.
+# At the end of October the two communities had rebelled against
+# Nunavut's unified time zone, refusing to shift to eastern time with
+# the rest of the territory for the winter.  Cambridge Bay remained on
+# central time, while Kugluktuk, even farther west, reverted to
+# mountain time, which they had used before the advent of Nunavut's
+# unified time zone in 1999.
+
+# From Paul Eggert (2000-12-04):
+# Let's just keep track of the official times for now.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
 Rule	NT_YK	1918	only	-	Oct	27	2:00	0	S
@@ -1105,12 +1120,15 @@ Rule	NT_YK	1987	max	-	Apr	Sun>=1	2:00	1:00	D
 Zone America/Pangnirtung -4:22:56 -	LMT	1884
 			-4:00	NT_YK	A%sT	1995 Apr Sun>=1 2:00
 			-5:00	Canada	E%sT	1999 Oct 31 2:00
-			-6:00	Canada	C%sT
+			-6:00	Canada	C%sT	2000 Oct 29 2:00
+			-5:00	-	EST
 Zone America/Iqaluit	-4:33:52 -	LMT	1884 # Frobisher Bay before 1987
 			-5:00	NT_YK	E%sT	1999 Oct 31 2:00
-			-6:00	Canada	C%sT
+			-6:00	Canada	C%sT	2000 Oct 29 2:00
+			-5:00	-	EST
 Zone America/Rankin_Inlet -6:08:40 -	LMT	1884
-			-6:00	NT_YK	C%sT
+			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
+			-5:00	-	EST
 Zone America/Cambridge_Bay -7:00:20 -	LMT	1884
 			-7:00	NT_YK	M%sT	1999 Oct 31 2:00
 			-6:00	Canada	C%sT
@@ -1205,6 +1223,14 @@ Zone America/Dawson	-9:17:40 -	LMT	1900 Aug 20
 # savings time so as to stay on the same time zone as the southern part of
 # Arizona year round.
 
+# From Jesper Norgaard (2000-12-02):
+# No changes have been implemented yet, but the new elected president
+# Vicente Fox seems to agree with his presidential candidate opponent
+# Labastida that daylight saving should not be discontinued, but maybe
+# reduced with a couple of months, e.g. starting one month later and
+# ending one month earlier:
+# http://www.reforma.com/nacional/articulo/044581/
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Mexico	1939	only	-	Feb	5	0:00	1:00	D
 Rule	Mexico	1939	only	-	Jun	25	0:00	0	S
@@ -1423,6 +1449,25 @@ Zone America/Dominica	-4:05:36 -	LMT	1911 Jul 1 0:01		# Roseau
 			-4:00	-	AST
 
 # Dominican Republic
+
+# From Steffen Thorsen (2000-10-30):
+# Enrique Morales reported to me that the Dominican Republic has changed the
+# time zone to Eastern Standard Time as of Sunday 29 at 2 am....
+# http://www.listin.com.do/antes/261000/republica/princi.html
+
+# From Paul Eggert (2000-12-04):
+# That URL (2000-10-26, in Spanish) says they planned to use US-style DST.
+
+# From Rives McDow (2000-12-01):
+# Dominican Republic changed its mind and presidential decree on Tuesday,
+# November 28, 2000, with a new decree.  On Sunday, December 3 at 1:00 AM the
+# Dominican Republic will be reverting to 8 hours from the International Date
+# Line, and will not be using DST in the foreseeable future.  The reason they
+# decided to use DST was to be in synch with Puerto Rico, who was also going
+# to implement DST.  When Puerto Rico didn't implement DST, the president
+# decided to revert.
+
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	DR	1966	only	-	Oct	30	0:00	1:00	D
 Rule	DR	1967	only	-	Feb	28	0:00	0	S
@@ -1434,6 +1479,8 @@ Rule	DR	1972	1974	-	Jan	21	0:00	0	S
 Zone America/Santo_Domingo -4:39:36 -	LMT	1890
 			-4:40	-	SDMT	1933 Apr  1 12:00 # S. Dom. MT
 			-5:00	DR	E%sT	1974 Oct 27
+			-4:00	-	AST	2000 Oct 29 02:00
+			-5:00	US	E%sT	2000 Dec  3 01:00
 			-4:00	-	AST
 
 # El Salvador
diff --git a/timezone/southamerica b/timezone/southamerica
index b153aeb109..643ac5e10b 100644
--- a/timezone/southamerica
+++ b/timezone/southamerica
@@ -1,4 +1,4 @@
-# @(#)southamerica	7.37
+# @(#)southamerica	7.38
 
 # 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
@@ -249,7 +249,12 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
 # <a href="http://pcdsh01.on.br/verao1.html">
 # Brazilian official page
 # </a>
-#
+
+# From Jesper Norgaard (2000-11-03):
+# [For an official list of which regions in Brazil use which time zones, see:]
+# http://pcdsh01.on.br/Fusbr.htm
+# http://pcdsh01.on.br/Fusbrhv.htm
+
 # From Paul Eggert (2000-10-02):
 # The official decrees referenced below are taken from
 # <a href="http://pcdsh01.on.br/DecHV.html">
@@ -373,6 +378,11 @@ Rule	Brazil	1999	only	-	Oct	 3	 0:00	1:00	S
 Rule	Brazil	2000	only	-	Feb	27	 0:00	0	-
 # Decree <a href="http://pcdsh01.on.br/DEC3592.htm">3,592</a> (2000-09-06)
 # adopted by the same states as before.
+# Decree <a href="http://pcdsh01.on.br/Dec3630.jpg">3,630</a> (2000-10-13)
+# repeals DST in PE and RR, effective 2000-10-15 00:00.
+# Decree <a href="http://pcdsh01.on.br/Dec3632.jpg">3,632</a> (2000-10-17)
+# repeals DST in SE, AL, PB, RN, CE, PI and MA, effective 2000-10-22 00:00.
+#
 # These give only one year's rules.  After that, the rules are guesses
 # and are quite possibly wrong, but are more likely than no DST at all.
 Rule	Brazil	2000	max	-	Oct	Sun>=8	 0:00	1:00	S
@@ -381,22 +391,32 @@ Rule	Brazil	2001	max	-	Feb	Sun>=15	 0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 #
-# Fernando de Noronha
+# Atlantic islands: Fernando de Noronha, Trindade, Martin Vaz,
+# Atol das Rocas, and Penedos de Sao Pedro e Sao Paulo
 Zone America/Noronha	-2:09:40 -	LMT	1914
 			-2:00	Brazil	FN%sT	1990 Sep 17
 			-2:00	-	FNT
 #
 # Amapa (AP), east Para (PA)
+# East Para includes Belem, Maraba, Serra Norte, and Sao Felix do Xingu.
 Zone America/Belem	-3:13:56 -	LMT	1914
 			-3:00	Brazil	BR%sT	1988 Sep 12
 			-3:00	-	BRT
 #
 # Maranhao (MA), Piaui (PI), Ceara (CE), Rio Grande do Norte (RN),
-# Paraiba (PB), Pernambuco (PE) (except Fernando de Noronha)
+# Paraiba (PB)
 Zone America/Fortaleza	-2:34:00 -	LMT	1914
 			-3:00	Brazil	BR%sT	1990 Sep 17
 			-3:00	-	BRT	1999 Sep 30
-			-3:00	Brazil	BR%sT
+			-3:00	Brazil	BR%sT	2000 Oct 22
+			-3:00	-	BRT
+#
+# Pernambuco (PE) (except Atlantic islands)
+Zone America/Recife	-2:19:36 -	LMT	1914
+			-3:00	Brazil	BR%sT	1990 Sep 17
+			-3:00	-	BRT	1999 Sep 30
+			-3:00	Brazil	BR%sT	2000 Oct 15
+			-3:00	-	BRT
 #
 # Tocantins (TO)
 Zone America/Araguaina	-3:12:48 -	LMT	1914
@@ -410,7 +430,8 @@ Zone America/Maceio	-2:22:52 -	LMT	1914
 			-3:00	-	BRT	1995 Oct 13
 			-3:00	Brazil	BR%sT	1996 Sep  4
 			-3:00	-	BRT	1999 Sep 30
-			-3:00	Brazil	BR%sT
+			-3:00	Brazil	BR%sT	2000 Oct 22
+			-3:00	-	BRT
 #
 # Bahia (BA), Goias (GO), Distrito Federal (DF), Minas Gerais (MG),
 # Espirito Santo (ES), Rio de Janeiro (RJ), Sao Paulo (SP), Parana (PR),
@@ -425,6 +446,7 @@ Zone America/Cuiaba	-3:44:20 -	LMT	1914
 			-4:00	Brazil	AM%sT
 #
 # west Para (PA), Rondonia (RO)
+# West Para includes Altamira, Oribidos, Prainha, Oriximina, and Santarem.
 Zone America/Porto_Velho -4:15:36 -	LMT	1914
 			-4:00	Brazil	AM%sT	1988 Sep 12
 			-4:00	-	AMT
@@ -433,22 +455,29 @@ Zone America/Porto_Velho -4:15:36 -	LMT	1914
 Zone America/Boa_Vista	-4:02:40 -	LMT	1914
 			-4:00	Brazil	AM%sT	1988 Sep 12
 			-4:00	-	AMT	1999 Sep 30
-			-4:00	Brazil	AM%sT
+			-4:00	Brazil	AM%sT	2000 Oct 15
+			-4:00	-	AMT
 #
-# Amazonas (AM)
+# east Amazonas (AM): Boca do Acre, Jutai, Manaus, Floriano Peixoto
 Zone America/Manaus	-4:00:04 -	LMT	1914
 			-4:00	Brazil	AM%sT	1988 Sep 12
 			-4:00	-	AMT	1993 Sep 28
 			-4:00	Brazil	AM%sT	1994 Sep 22
 			-4:00	-	AMT
 #
+# west Amazonas (AM): Atalaia do Norte, Boca do Maoco, Benjamin Constant,
+#	Eirunepe, Envira, Ipixuna
+Zone America/Eirunepe	-4:39:28 -	LMT	1914
+			-5:00	Brazil	AC%sT	1988 Sep 12
+			-5:00	-	ACT	1993 Sep 28
+			-5:00	Brazil	AC%sT	1994 Sep 22
+			-5:00	-	ACT
+#
 # Acre (AC)
 # Rio_Branco is too ambiguous, since there's a Rio Branco in Uruguay too.
 Zone America/Porto_Acre	-4:31:12 -	LMT	1914
 			-5:00	Brazil	AC%sT	1988 Sep 12
 			-5:00	-	ACT
-#
-# Martin Vaz and Trindade are like America/Noronha.
 
 
 # Chile
diff --git a/timezone/zone.tab b/timezone/zone.tab
index 3a77814b1b..e4e11802b0 100644
--- a/timezone/zone.tab
+++ b/timezone/zone.tab
@@ -1,4 +1,4 @@
-# @(#)zone.tab	1.20
+# @(#)zone.tab	1.21
 #
 # TZ zone descriptions
 #
@@ -61,7 +61,7 @@ AW	+1230-06858	America/Aruba
 AZ	+4023+04951	Asia/Baku
 BA	+4352+01825	Europe/Sarajevo
 BB	+1306-05937	America/Barbados
-BD	+2343+09025	Asia/Dacca
+BD	+2343+09025	Asia/Dhaka
 BE	+5050+00420	Europe/Brussels
 BF	+1222-00131	Africa/Ouagadougou
 BG	+4241+02319	Europe/Sofia
@@ -71,16 +71,18 @@ BJ	+0629+00237	Africa/Porto-Novo
 BM	+3217-06446	Atlantic/Bermuda
 BN	+0456+11455	Asia/Brunei
 BO	-1630-06809	America/La_Paz
-BR	-0351-03225	America/Noronha	Fernando de Noronha
+BR	-0351-03225	America/Noronha	Atlantic islands
 BR	-0127-04829	America/Belem	Amapa, E Para
-BR	-0343-03830	America/Fortaleza	NE Brazil (MA, PI, CE, RN, PR, PE)
+BR	-0343-03830	America/Fortaleza	NE Brazil (MA, PI, CE, RN, PR)
+BR	-0803-03454	America/Recife	Pernambuco
 BR	-0712-04812	America/Araguaina	Tocantins
 BR	-0940-03543	America/Maceio	Alagoas, Sergipe
 BR	-2332-04637	America/Sao_Paulo	S & SE Brazil (BA, GO, DF, MG, ES, RJ, SP, PR, SC, RS)
 BR	-1535-05605	America/Cuiaba	Mato Grosso, Mato Grosso do Sul
 BR	-0846-06354	America/Porto_Velho	W Para, Rondonia
 BR	+0249-06040	America/Boa_Vista	Roraima
-BR	-0308-06001	America/Manaus	Amazonas
+BR	-0308-06001	America/Manaus	E Amazonas
+BR	-0640-06952	America/Eirunepe	W Amazonas
 BR	-0934-06731	America/Porto_Acre	Acre
 BS	+2505-07721	America/Nassau
 BT	+2728+08939	Asia/Thimphu
@@ -94,11 +96,11 @@ CA	+5320-06025	America/Goose_Bay	Atlantic Time - E Labrador
 CA	+4531-07334	America/Montreal	Eastern Time - Ontario & Quebec - most locations
 CA	+4901-08816	America/Nipigon	Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
 CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
+CA	+6608-06544	America/Pangnirtung	Eastern Standard Time - Pangnirtung, Nunavut
+CA	+6344-06828	America/Iqaluit	Eastern Standard Time - east Nunavut
+CA	+6245-09210	America/Rankin_Inlet	Eastern Standard Time - central Nunavut
 CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
 CA	+4843-09429	America/Rainy_River	Central Time - Rainy River & Fort Frances, Ontario
-CA	+6608-06544	America/Pangnirtung	Central Time - Pangnirtung, Nunavut
-CA	+6344-06828	America/Iqaluit	Central Time - east Nunavut
-CA	+6245-09210	America/Rankin_Inlet	Central Time - central Nunavut
 CA	+6903-10505	America/Cambridge_Bay	Central Time - west Nunavut
 CA	+5024-10439	America/Regina	Central Standard Time - Saskatchewan - most locations
 CA	+5017-10750	America/Swift_Current	Central Standard Time - Saskatchewan - midwest