Possible tiny bug in tzcode

Paul Eggert eggert at twinsun.com
Tue Oct 16 02:02:11 UTC 2001


> From: Damon Chaplin <damon at ximian.com>
> Date: 15 Oct 2001 18:20:36 -0400
> 
> While testing my iCalendar timezone code against mktime/localtime I
> think I found a tiny error.

Thanks for the bug report.  I have verified that it is an error,
apparently in zic.c.

The following patch to 'asia' works around the bug, but of course it'd
be better to fix zic.c.

--- asia	Tue Oct  9 10:31:30 2001
+++ /tmp/asia	Mon Oct 15 17:31:36 2001
@@ -841,7 +841,7 @@
 # Kyrgyzstan (Kirgizstan)
 # Transitions through 1991 are from Shanks.
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Kirgiz	1992	1996	-	Apr	Sun>=7	0:00	1:00	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	-


Here is a small zic input file that reproduces the bug:

Rule	Kirgiz	1992	only	-	Apr	Sun>=7	0:00	1:00	S
Rule	Kirgiz	1992	only	-	Sep	lastSun	0:00	0	-
Zone	Asia/Bishkek	5:00	1:00	FRUST	1991 Aug 31 2:00
			5:00	Kirgiz	KG%sT

With this input, "zdump -v Asia/Bishkek" outputs:

Asia/Bishkek  Fri Dec 13 20:45:52 1901 UTC = Sat Dec 14 02:45:52 1901 FRUST isdst=1
Asia/Bishkek  Sat Dec 14 20:45:52 1901 UTC = Sun Dec 15 02:45:52 1901 FRUST isdst=1
Asia/Bishkek  Fri Aug 30 19:59:59 1991 UTC = Sat Aug 31 01:59:59 1991 FRUST isdst=1
Asia/Bishkek  Fri Aug 30 20:00:00 1991 UTC = Sat Aug 31 01:00:00 1991 KGT isdst=0
Asia/Bishkek  Sat Apr 11 17:59:59 1992 UTC = Sat Apr 11 22:59:59 1992 KGT isdst=0
Asia/Bishkek  Sat Apr 11 18:00:00 1992 UTC = Sun Apr 12 00:00:00 1992 KGST isdst=1
Asia/Bishkek  Sat Sep 26 17:59:59 1992 UTC = Sat Sep 26 23:59:59 1992 KGST isdst=1
Asia/Bishkek  Sat Sep 26 18:00:00 1992 UTC = Sat Sep 26 23:00:00 1992 KGT isdst=0
Asia/Bishkek  Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 08:14:07 2038 KGT isdst=0
Asia/Bishkek  Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 08:14:07 2038 KGT isdst=0

and the April 1992 transition is off by an hour.



More information about the tz mailing list