2001-06-06  Ulrich Drepper  <drepper@redhat.com>

	* timezone/zic.c: Update from tzcode2001c.
	* timezone/private.h: Likewise.
	* timezone/africa: Update from tzdata2001c.
	* timezone/asia: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.
This commit is contained in:
Ulrich Drepper 2001-06-06 14:01:54 +00:00
parent 601d294296
commit 289ac9ddb4
19 changed files with 80964 additions and 15469 deletions

View File

@ -1,3 +1,14 @@
2001-06-06 Ulrich Drepper <drepper@redhat.com>
* timezone/zic.c: Update from tzcode2001c.
* timezone/private.h: Likewise.
* timezone/africa: Update from tzdata2001c.
* timezone/asia: Likewise.
* timezone/europe: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
2001-06-04 Bruno Haible <haible@clisp.cons.org>
* iconv/loop.c (UNICODE_TAG_HANDLER): New macro.

View File

@ -0,0 +1,3 @@
0x8EA3A1B8 0x5344
0x8EA5A1C8 0x233B3
0x8EA5EFBA 0x2A0CC

View File

@ -100,6 +100,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \
tst-table-charmap.sh tst-table-from.c tst-table-to.c \
EUC-JP.irreversible ISIRI-3342.irreversible SJIS.irreversible \
EUC-KR.irreversible BIG5HKSCS.irreversible BIG5.irreversible \
CP1255.irreversible CP1258.irreversible EUC-TW.irreversible \
8bit-generic.c 8bit-gap.c \
ansi_x3.110.c asmo_449.c big5.c cp737.c cp737.h \
cp775.c cp775.h ibm874.c cns11643.c cns11643.h \

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* Access functions for CNS 11643, plane 2 handling.
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
/* Access functions for CNS 11643 handling.
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -20,12 +20,23 @@
#include <stdint.h>
/* Table for CNS 11643, plane 1 to UCS4 conversion. */
extern const uint16_t __cns11643l1_to_ucs4_tab[];
/* Table for CNS 11643, plane 2 to UCS4 conversion. */
extern const uint16_t __cns11643l2_to_ucs4_tab[];
/* Table for CNS 11643, plane 14 to UCS4 conversion. */
extern const uint16_t __cns11643l14_to_ucs4_tab[];
/* Table for CNS 11643, plane 3 to UCS4 conversion. */
extern const uint32_t __cns11643l3_to_ucs4_tab[];
/* Table for CNS 11643, plane 4 to UCS4 conversion. */
extern const uint32_t __cns11643l4_to_ucs4_tab[];
/* Table for CNS 11643, plane 5 to UCS4 conversion. */
extern const uint32_t __cns11643l5_to_ucs4_tab[];
/* Table for CNS 11643, plane 6 to UCS4 conversion. */
extern const uint32_t __cns11643l6_to_ucs4_tab[];
/* Table for CNS 11643, plane 7 to UCS4 conversion. */
extern const uint32_t __cns11643l7_to_ucs4_tab[];
/* Table for CNS 11643, plane 15 (old) to UCS4 conversion. */
extern const uint32_t __cns11643l15_to_ucs4_tab[];
static inline uint32_t
@ -53,26 +64,51 @@ cns11643_to_ucs4 (const char **s, size_t avail, unsigned char offset)
idx = (ch2 - 0x21 - offset) * 94 + (ch3 - 0x21 - offset);
if ((ch - 0x20 - offset) == 1)
switch (ch - 0x20 - offset)
{
case 1:
if (idx > 0x21f2)
return __UNKNOWN_10646_CHAR;
result = __cns11643l1_to_ucs4_tab[idx];
}
else if ((ch - 0x20 - offset) == 2)
{
break;
case 2:
if (idx > 0x1de1)
return __UNKNOWN_10646_CHAR;
result = __cns11643l2_to_ucs4_tab[idx];
}
else if ((ch - 0x20 - offset) == 0xe)
{
break;
case 3:
if (idx > 0x19bd)
return __UNKNOWN_10646_CHAR;
result = __cns11643l14_to_ucs4_tab[idx];
result = __cns11643l3_to_ucs4_tab[idx];
break;
case 4:
if (idx > 0x1c81)
return __UNKNOWN_10646_CHAR;
result = __cns11643l4_to_ucs4_tab[idx];
break;
case 5:
if (idx > 0x219a)
return __UNKNOWN_10646_CHAR;
result = __cns11643l5_to_ucs4_tab[idx];
break;
case 6:
if (idx > 0x18f3)
return __UNKNOWN_10646_CHAR;
result = __cns11643l6_to_ucs4_tab[idx];
break;
case 7:
if (idx > 0x198a)
return __UNKNOWN_10646_CHAR;
result = __cns11643l7_to_ucs4_tab[idx];
break;
case 15:
if (idx > 0x1c00)
return __UNKNOWN_10646_CHAR;
result = __cns11643l15_to_ucs4_tab[idx];
break;
default:
return __UNKNOWN_10646_CHAR;
}
else
return __UNKNOWN_10646_CHAR;
if (result != L'\0')
(*s) += 3;
@ -98,7 +134,8 @@ extern const char __cns11643l1_from_ucs4_tab11[][2];
extern const char __cns11643l1_from_ucs4_tab12[][2];
extern const char __cns11643l1_from_ucs4_tab13[][2];
extern const char __cns11643l1_from_ucs4_tab14[][2];
extern const char __cns11643_from_ucs4_tab[][3];
extern const char __cns11643_from_ucs4p0_tab[][3];
extern const char __cns11643_from_ucs4p2_tab[][3];
static inline size_t
@ -179,14 +216,14 @@ ucs4_to_cns11643 (uint32_t wch, char *s, size_t avail)
break;
case 0x4e00 ... 0x9f9c:
cp = __cns11643l1_from_ucs4_tab12[ch - 0x4e00];
if (cp[0] != '\0')
break;
/* FALLTHROUGH. Let's try the other planes. */
case 0x3400 ... 0x4dff:
case 0x9f9d ... 0x9fa5:
/* Let's try the other planes. */
needed = 3;
cp = __cns11643_from_ucs4_tab[ch - 0x4e00];
cp = __cns11643_from_ucs4p0_tab[ch - 0x3400];
break;
case 0xfe30 ... 0xfe6b:
cp = __cns11643l1_from_ucs4_tab13[ch - 0xfe30];
@ -203,6 +240,10 @@ ucs4_to_cns11643 (uint32_t wch, char *s, size_t avail)
case 0xffe5:
cp = "\x22\x64";
break;
case 0x20000 ... 0x2a6d6:
needed = 3;
cp = __cns11643_from_ucs4p2_tab[ch - 0x20000];
break;
default:
return __UNKNOWN_10646_CHAR;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* Access functions for CNS 11643, plane 2 handling.
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -54,7 +54,7 @@ cns11643l2_to_ucs4 (const unsigned char **s, size_t avail,
/* The table which contains the CNS 11643 level 2 mappings. */
extern const char __cns11643_from_ucs4_tab[][3];
extern const char __cns11643_from_ucs4p0_tab[][3];
static inline size_t
@ -65,7 +65,7 @@ ucs4_to_cns11643l2 (uint32_t wch, unsigned char *s, size_t avail)
if (ch >= 0x4e07 && ch <= 0x9fa4)
{
cp = __cns11643_from_ucs4_tab[ch - 0x4e00];
cp = __cns11643_from_ucs4p0_tab[ch - 0x3400];
if (cp[0] == '\2')
++cp;
else

View File

@ -1,5 +1,5 @@
/* Conversion module for ISO-2022-CN-EXT.
Copyright (C) 2000,01 Free Software Foundation, Inc.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
@ -301,7 +301,7 @@ enum
/* This is a character from CNS 11643 plane 2. \
XXX We could test here whether the use of this character \
set was announced. \
XXX Current GB7589 and GB13131 are not supported. */ \
XXX Currently GB7589 and GB13131 are not supported. */ \
inptr += 2; \
ch = cns11643l2_to_ucs4 (&inptr, 2, 0); \
if (ch == __UNKNOWN_10646_CHAR) \
@ -332,17 +332,27 @@ enum
switch (ann & SS3_ann) \
{ \
case CNS11643_3_ann: \
/* CNS 11643 plane 3 is part of the old CNS 11643 plane 14. */ \
if (buf[1] < 0x62 || (buf[1] == 0x62 && buf[2] <= 0x45)) \
{ \
buf[0] = 0x2e; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
} \
else \
ch = __UNKNOWN_10646_CHAR; \
buf[0] = 0x23; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
break; \
case CNS11643_4_ann: \
buf[0] = 0x24; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
break; \
case CNS11643_5_ann: \
buf[0] = 0x25; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
break; \
case CNS11643_6_ann: \
buf[0] = 0x26; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
break; \
case CNS11643_7_ann: \
buf[0] = 0x27; \
ch = cns11643_to_ucs4 (&tmp, 3, 0); \
break; \
default: \
/* XXX Currently planes 4 to 7 are not supported. */ \
/* XXX Currently GB7590 and GB13132 are not supported. */ \
ch = __UNKNOWN_10646_CHAR; \
break; \
} \
@ -516,23 +526,36 @@ enum
} \
\
written = ucs4_to_cns11643 (ch, tmpbuf, 3); \
if (written == 3 && tmpbuf[0] != 1 && tmpbuf[0] != 2) \
if (written == 3 && tmpbuf[0] >= 3 && tmpbuf[0] <= 7) \
{ \
buf[0] = tmpbuf[1]; \
buf[1] = tmpbuf[2]; \
written = 2; \
/* CNS 11643 plane 3 is part of the old CNS 11643 \
plane 14. \
XXX Currently planes 4 to 7 are not supported. */ \
if (tmpbuf[0] == 14 \
&& (tmpbuf[1] < 0x62 \
|| (tmpbuf[1] == 0x62 && tmpbuf[2] <= 0x45))) \
switch (tmpbuf[0]) \
{ \
case 3: \
used = CNS11643_3_set; \
break; \
case 4: \
used = CNS11643_4_set; \
break; \
case 5: \
used = CNS11643_5_set; \
break; \
case 6: \
used = CNS11643_6_set; \
break; \
case 7: \
used = CNS11643_7_set; \
break; \
default: \
abort (); \
} \
written = 2; \
break; \
} \
\
/* XXX Currently GB7590 and GB13132 are not supported. */\
\
/* Even this does not work. Error. */ \
used = ASCII_set; \
} \

View File

@ -41,7 +41,9 @@ ${SHELL} tst-table-charmap.sh ${charmap:-$charset} \
# Precompute expected differences between the two iconv directions.
if test ${charset} = EUC-TW; then
irreversible=${objpfx}tst-${charset}.irreversible
grep '^0x8EA1' ${objpfx}tst-${charset}.charmap.table > ${irreversible}
(grep '^0x8EA1' ${objpfx}tst-${charset}.charmap.table
cat ${charset}.irreversible
) > ${irreversible}
else
irreversible=${charset}.irreversible
fi

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
# @(#)africa 7.34
# @(#)africa 7.35
# 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
@ -481,6 +481,12 @@ Zone Africa/Dakar -1:09:44 - LMT 1912
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - SCT # Seychelles Time
# From Paul Eggert (2001-05-30):
# Aldabra, Farquhar, and Desroches, originally dependencies of the
# Seychelles, were transferred to the British Indian Ocean Territory
# in 1965 and returned to Seychelles control in 1976. We don't know
# whether this affected their time zone, so omit this for now.
# Possibly the islands were uninhabited.
# Sierra Leone
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S

View File

@ -1,4 +1,4 @@
# @(#)antarctica 7.21
# @(#)antarctica 7.22
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
@ -39,8 +39,8 @@ Rule ArgAQ 1974 only - Jan 23 0:00 1:00 S
Rule ArgAQ 1974 only - May 1 0:00 0 -
Rule ArgAQ 1974 1976 - Oct Sun<=7 0:00 1:00 S
Rule ArgAQ 1975 1977 - Apr Sun<=7 0:00 0 -
Rule ChileAQ 1969 1997 - Oct Sun>=9 0:00 1:00 S
Rule ChileAQ 1970 1998 - Mar Sun>=9 0:00 0 -
Rule ChileAQ 1966 1997 - Oct Sun>=9 0:00 1:00 S
Rule ChileAQ 1967 1998 - Mar Sun>=9 0:00 0 -
Rule ChileAQ 1998 only - Sep 27 0:00 1:00 S
Rule ChileAQ 1999 only - Apr 4 0:00 0 -
Rule ChileAQ 1999 max - Oct Sun>=9 0:00 1:00 S
@ -92,11 +92,13 @@ Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
# Brazil - year-round base
# Ferraz, King George Island, since 1983/4
# Chile - year-round bases
# Chile - year-round bases and towns
# Escudero, South Shetland Is, -621157-0585735, since 1994
# Frei, King George Is, -6214-05848, since 1969
# Frei, King George Island, -6214-05848, since 1969-03-07
# O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
# Prat, -6230-05941
# Villa Las Estrellas (a town), King George Island, since 1984-04-09
# These locations have always used Santiago time; use TZ='America/Santiago'.
# China - year-round bases
# Great Wall, King George Island, since 1985-02-20
@ -219,6 +221,15 @@ Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 S
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT.''
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antartic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok. But we'll guess UTC+6.
#
Zone Antarctica/Vostok 0 - zzz 1957 Dec 16
6:00 - VOST # Vostok time

View File

@ -1,4 +1,4 @@
# @(#)asia 7.63
# @(#)asia 7.64
# 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
@ -37,8 +37,11 @@
# 4:00 GST Gulf*
# 5:30 IST India
# 7:00 ICT Indochina*
# 7:00 WIT west Indonesia
# 8:00 CIT central Indonesia
# 8:00 CST China
# 9:00 CJT Central Japanese Time (1896/1937)*
# 9:00 EIT east Indonesia
# 9:00 JST Japan
# 9:00 KST Korea
# 9:30 CST (Australian) Central Standard Time
@ -131,9 +134,11 @@ Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu
6:00 - BTT # Bhutan Time
# British Indian Ocean Territory
# From Whitman:
# Whitman and the 1995 CIA time zone map say 5:00, but the
# 1997 and later maps say 6:00. Assume the switch occurred in 1996.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Chagos 5:00 - IOT # BIOT Time
Zone Indian/Chagos 5:00 - IOT 1996 # BIOT Time
6:00 - IOT
# Brunei
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -357,7 +362,7 @@ Zone Asia/Dili 8:22:20 - LMT 1912
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 2000 Sep 17 00:00
8:00 - CIT 2000 Sep 17 00:00
9:00 - TPT
# India
@ -374,27 +379,43 @@ Zone Asia/Calcutta 5:53:28 - LMT 1880
# Nicobar Is
# Indonesia
#
# From Gwillim Law (2001-05-28), overriding Shanks:
# <http://www.sumatera-inc.com/go_to_invest/about_indonesia.asp#standtime>
# says that Indonesia's time zones changed on 1988-01-01. Looking at some
# time zone maps, I think that must refer to Western Borneo (Kalimantan Barat
# and Kalimantan Tengah) switching from UTC+8 to UTC+7.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
# Shanks says the next transition was at 1924 Jan 1 0:13,
# but this must be a typo.
7:07:12 - JMT 1923 Dec 31 23:47:12 # Jakarta
7:20 - JAVT 1932 Nov # Java Time
7:30 - JAVT 1942 Mar 23
7:30 - WIT 1942 Mar 23
9:00 - JST 1945 Aug
7:30 - JAVT 1948 May
8:00 - JAVT 1950 May
7:30 - JAVT 1964
7:00 - JAVT
7:30 - WIT 1948 May
8:00 - WIT 1950 May
7:30 - WIT 1964
7:00 - WIT
Zone Asia/Pontianak 7:17:20 - LMT 1908 May
7:17:20 - PMT 1932 Nov # Pontianak MT
7:30 - WIT 1942 Jan 29
9:00 - JST 1945 Aug
7:30 - WIT 1948 May
8:00 - WIT 1950 May
7:30 - WIT 1964
8:00 - CIT 1988 Jan 1
7:00 - WIT
Zone Asia/Ujung_Pandang 7:57:36 - LMT 1920
7:57:36 - MMT 1932 Nov # Macassar MT
8:00 - BORT 1942 Feb 9 # Borneo Time
8:00 - CIT 1942 Feb 9
9:00 - JST 1945 Aug
8:00 - BORT
8:00 - CIT
Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
9:00 - JAYT 1944 # Jayapura Time
9:00 - EIT 1944
9:30 - CST 1964
9:00 - JAYT
9:00 - EIT
# Iran
# From Paul Eggert (2000-06-12), following up a suggestion by Rich Wales:
@ -960,38 +981,52 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
# Suhbaatar, and possibly Khentij.
# From Paul Eggert (1999-12-15):
# For now, we'll comment out the east zone (Choybalsan)
# and use Shanks's and the IATA's data for the daylight-saving rules.
# Naming and spelling is tricky in Mongolia.
# We'll use Hovd (also spelled Chovd and Khovd) to represent the west zone;
# the capital of the Hovd province is sometimes called Hovd, sometimes Dund-Us,
# and sometimes Jirgalanta (with variant spellings), but the name Hovd
# is good enough for our purposes.
# From Rives McDow (2001-05-13):
# In addition to Mongolia starting daylight savings as reported earlier
# (adopted DST on 2001-04-27 02:00 local time, ending 2001-09-28),
# there are three time zones.
#
# Provinces [at 7:00]: Bayan-ulgii, Uvs, Khovd, Zavkhan, Govi-Altai
# Provinces [at 8:00]: Khovsgol, Bulgan, Arkhangai, Khentii, Tov,
# Bayankhongor, Ovorkhangai, Dundgovi, Dornogovi, Omnogovi
# Provinces [at 9:00]: Dornod, Sukhbaatar
#
# [The province of Selenge is omitted from the above lists.]
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Mongol 1981 1984 - Apr 1 0:00 1:00 S
Rule Mongol 1981 1984 - Oct 1 0:00 0 -
Rule Mongol 1985 1990 - Mar lastSun 2:00 1:00 S
Rule Mongol 1985 1990 - Sep lastSun 3:00 0 -
Rule Mongol 1991 1998 - Mar lastSun 0:00 1:00 S
Rule Mongol 1991 1995 - Sep lastSun 0:00 0 -
# IATA SSIM (1996-09) says 1996-10-25; go with Shanks.
Rule Mongol 1996 only - Oct lastSun 0:00 0 -
Rule Mongol 1997 1998 - Sep lastSun 0:00 0 -
Rule Mongol 1983 1984 - Apr 1 0:00 1:00 S
Rule Mongol 1983 only - Oct 1 0:00 0 -
# IATA SSIM says 1990s switches occurred at 00:00, but Shanks (1995) lists
# them at 02:00s, and McDow says the 2001 switches also occurred at 02:00.
# Also, IATA SSIM (1996-09) says 1996-10-25. Go with Shanks through 1998.
Rule Mongol 1985 1998 - Mar lastSun 2:00s 1:00 S
Rule Mongol 1984 1998 - Sep lastSun 2:00s 0 -
# IATA SSIM (1999-09) says Mongolia no longer observes DST.
Rule Mongol 2001 only - Apr 27 2:00s 1:00 S
Rule Mongol 2001 only - Sep 28 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta
Zone Asia/Hovd 6:06:36 - LMT 1905 Aug
6:00 - HOVT 1978 # Hovd Time
7:00 Mongol HOV%sT
# Ulaanbaatar, a.k.a. Ulan Bataar, Ulan Bator, Urga
Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug
7:00 - ULAT 1978 # Ulaanbaatar Time
8:00 Mongol ULA%sT
# We're not sure about this entry yet, so we'll omit it for now.
#Zone Asia/Choybalsan 7:38:00 - LMT 1905 Aug
# 8:00 - CHOT 1978 # Choybalsan Time
# 9:00 Mongol CHO%sT 19??
# 8:00 Mongol ULA%sT
# Choibalsan, a.k.a. Bajan Tuemen, Bajan Tumen, Chojbalsan,
# Choybalsan, Sanbejse, Tchoibalsan
# We're still not sure about this data, so we'll omit it for now.
#Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug
# 7:00 - ULAT 1978
# 8:00 Mongol ULA%sT 1983 Apr
# 9:00 Mongol CHO%sT # Choibalsan Time
# Nepal
# Zone NAME GMTOFF RULES FORMAT [UNTIL]

View File

@ -1,4 +1,4 @@
# @(#)europe 7.78
# @(#)europe 7.79
# 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
@ -41,7 +41,10 @@
# 0:00 GMT BST Greenwich, British Summer
# 0:00 GMT IST Greenwich, Irish Summer
# 0:00 WET WEST Western Europe
# 0:19:32 AMT NST Amsterdam, Netherlands Summer (1835-1937)*
# 0:20 NET NEST Netherlands (1937-1940)*
# 1:00 CET CEST Central Europe
# 1:00:14 SET Swedish (1879-1899)*
# 2:00 EET EEST Eastern Europe
# 3:00 MSK MSD Moscow
#
@ -1371,22 +1374,59 @@ Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
1:00 EU CE%sT
# Netherlands
# Howse writes that the Netherlands' railways used GMT between 1892 and 1940,
# but for other purposes the Netherlands used Amsterdam mean time.
# The data before 1945 is taken from
# However, Robert H. van Gent writes (2001-04-01):
# Howse's statement is only correct up to 1909. From 1909-05-01 (00:00:00
# Amsterdam mean time) onwards, the whole of the Netherlands (including
# the Dutch railways) was required by law to observe Amsterdam mean time
# (19 minutes 32.13 seconds ahead of GMT). This had already been the
# common practice (except for the railways) for many decades but it was
# not until 1909 when the Dutch government finally defined this by law.
# On 1937-07-01 this was changed to 20 minutes (exactly) ahead of GMT and
# was generally known as Dutch Time ("Nederlandse Tijd").
#
# (2001-04-08):
# 1892-05-01 was the date when the Dutch railways were by law required to
# observe GMT while the remainder of the Netherlands adhered to the common
# practice of following Amsterdam mean time.
#
# (2001-04-09):
# In 1835 the authorities of the province of North Holland requested the
# municipal authorities of the towns and cities in the province to observe
# Amsterdam mean time but I do not know in how many cases this request was
# actually followed.
#
# From 1852 onwards the Dutch telegraph offices were by law required to
# observe Amsterdam mean time. As the time signals from the observatory of
# Leiden were also distributed by the telegraph system, I assume that most
# places linked up with the telegraph (and railway) system automatically
# adopted Amsterdam mean time.
#
# Although the early Dutch railway companies initially observed a variety
# of times, most of them had adopted Amsterdam mean time by 1858 but it
# was not until 1866 when they were all required by law to observe
# Amsterdam mean time.
# The data before 1945 are taken from
# <http://www.phys.uu.nl/~vgent/wettijd/wettijd.htm>.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time
Rule Neth 1916 only - Oct 1 0:00 0 AMT # Amsterdam Mean Time
Rule Neth 1917 only - Apr 16 2:00s 1:00 NST
Rule Neth 1917 only - Sep 17 2:00s 0 AMT
Rule Neth 1918 1921 - Apr Mon>=1 2:00s 1:00 NST
Rule Neth 1918 1921 - Sep lastSun 2:00s 0 AMT
Rule Neth 1918 1921 - Sep lastMon 2:00s 0 AMT
Rule Neth 1922 only - Mar lastSun 2:00s 1:00 NST
Rule Neth 1922 1936 - Oct Sun>=2 2:00s 0 AMT
Rule Neth 1923 only - Jun Fri>=1 2:00s 1:00 NST
Rule Neth 1924 only - Mar lastSun 2:00s 1:00 NST
Rule Neth 1925 only - Jun Fri>=1 2:00s 1:00 NST
# From 1926 through 1939 DST began 05-15, except that it was delayed by a week
# in years when 05-15 fell in the Pentecost weekend.
Rule Neth 1926 1931 - May 15 2:00s 1:00 NST
Rule Neth 1932 only - May 22 2:00s 1:00 NST
Rule Neth 1933 1936 - May 15 2:00s 1:00 NST
@ -1396,10 +1436,13 @@ Rule Neth 1937 1939 - Oct Sun>=2 2:00s 0 -
Rule Neth 1938 1939 - May 15 2:00s 1:00 S
Rule Neth 1945 only - Apr 2 2:00s 1:00 S
Rule Neth 1945 only - Sep 16 2:00s 0 -
#
# Amsterdam Mean Time was +00:19:32.13 exactly, but the .13 is omitted
# below because the current format requires GMTOFF to be an integer.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Amsterdam 0:19:28 - LMT 1892 May
0:19:28 Neth %s 1937 Jul
0:20 Neth NE%sT 1940 May 17 0:00
Zone Europe/Amsterdam 0:19:32 - LMT 1835
0:19:32 Neth %s 1937 Jul 1
0:20 Neth NE%sT 1940 May 17 0:00 # Dutch Time
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Neth CE%sT 1977
1:00 EU CE%sT
@ -1417,17 +1460,62 @@ Rule Norway 1959 1964 - Mar Sun>=15 2:00s 1:00 S
Rule Norway 1959 1965 - Sep Sun>=15 2:00s 0 -
Rule Norway 1965 only - Apr 25 2:00s 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Oslo 0:43:00 - LMT 1895
Zone Europe/Oslo 0:43:00 - LMT 1895 Jan 1
1:00 Norway CE%sT 1940 Aug 10 23:00
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Norway CE%sT 1980
1:00 EU CE%sT
# Svalbard & Jan Mayen
# From Steffen Thorsen (2001-05-01):
# Although I could not find it explicitly, it seems that Jan Mayen and
# Svalbard have been using the same time as Norway at least since the
# time they were declared as parts of Norway. Svalbard was declared
# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan
# Mayen by law of 1930-02-27 no 2, section 2. (From
# http://www.lovdata.no/all/nl-19250717-011.html and
# http://www.lovdata.no/all/nl-19300227-002.html). The law/regulation
# for normal/standard time in Norway is from 1894-06-29 no 1 (came
# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a
# part of this law since 1925/1930. (From
# http://www.lovdata.no/all/nl-18940629-001.html ) I have not been
# able to find if Jan Mayen used a different time zone (e.g. -0100)
# before 1930. Jan Mayen has only been "inhabitated" since 1921 by
# Norwegian meteorologists and maybe used the same time as Norway ever
# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since
# before 1895, and therefore probably changed the local time somewhere
# between 1895 and 1925 (inclusive).
# From Paul Eggert (2001-05-01):
#
# Actually, Jan Mayen was never occupied by Germany during World War II,
# so it must have diverged from Oslo time during the war, as Olso was
# keeping Berlin time.
#
# <http://home.no.net/janmayen/history.htm> says that the meteorologists
# burned down their station in 1940 and left the island, but returned in
# 1941 with a small Norwegian garrison and continued operations despite
# frequent air ttacks from Germans. In 1943 the Americans established a
# radiolocating station on the island, called "Atlantic City". Possibly
# the UTC offset changed during the war, but I think it unlikely that
# Jan Mayen used German daylight-saving rules.
#
# Svalbard is more complicated, as it was raided in August 1941 by an
# Allied party that evacuated the civilian population to England (says
# <http://www.bartleby.com/65/sv/Svalbard.html>). The Svalbard FAQ
# <http://www.svalbard.com/SvalbardFAQ.html> says that the Germans were
# expelled on 1942-05-14. However, small parties of Germans did return,
# and according to Wilhelm Dege's book "War North of 80" (1954)
# <http://www.utpress.utoronto.ca/publishing/rights/dege_warnorthof80.htm>
# the German armed forces at the Svalbard weather station code-named
# Haudegen did not surrender to the Allies until September 1945.
#
# All these events predate our cutoff date of 1970. Unless we can
# come up with more definitive info about the timekeeping during the
# war years it's probably best just do do the following for now:
Link Europe/Oslo Arctic/Longyearbyen
# From Whitman:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/Jan_Mayen -1:00 - EGT
Link Europe/Oslo Atlantic/Jan_Mayen
# Poland
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -1638,7 +1726,7 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
# enforcing curfew at the wrong time.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945
2:00 Poland CE%sT 1946
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
@ -1795,11 +1883,56 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
# Ignore this for now, as the Canaries are part of the EU.
# Sweden
# From Ivan Nilsson (2001-04-13), superseding Shanks:
#
# The law "Svensk forfattningssamling 1878, no 14" about standard time in 1879:
# From the beginning of 1879 (that is 01-01 00:00) the time for all
# places in the country is "the mean solar time for the meridian at
# three degrees, or twelve minutes of time, to the west of the
# meridian of the Observatory of Stockholm". The law is dated 1878-05-31.
#
# The observatory at that time had the meridian 18 degrees 03' 30"
# eastern longitude = 01:12:14 in time. Less 12 minutes gives the
# national standard time as 01:00:14 ahead of GMT....
#
# About the beginning of CET in Sweden. The lawtext ("Svensk
# forfattningssamling 1899, no 44") states, that "from the beginning
# of 1900... ... the same as the mean solar time for the meridian at
# the distance of one hour of time from the meridian of the English
# observatory at Greenwich, or at 12 minutes 14 seconds to the west
# from the meridian of the Observatory of Stockholm". The law is dated
# 1899-06-16. In short: At 1900-01-01 00:00:00 the new standard time
# in Sweden is 01:00:00 ahead of GMT.
#
# 1916: The lawtext ("Svensk forfattningssamling 1916, no 124") states
# that "1916-05-15 is considered to begin one hour earlier". It is
# pretty obvious that at 05-14 23:00 the clocks are set to 05-15 00:00....
# Further the law says, that "1916-09-30 is considered to end one hour later".
#
# The laws regulating [DST] are available on the site of the Swedish
# Parliament beginning with 1985 - the laws regulating 1980/1984 are
# not available on the site (to my knowledge they are only available
# in Swedish): <http://www.riksdagen.se/english/work/sfst.asp> (type
# "sommartid" without the quotes in the field "Fritext" and then click
# the Sok-button).
#
# (2001-05-13):
#
# I have now found a newspaper stating that at 1916-10-01 01:00
# summertime the church-clocks etc were set back one hour to show
# 1916-10-01 00:00 standard time. The article also reports that some
# people thought the switch to standard time would take place already
# at 1916-10-01 00:00 summer time, but they had to wait for another
# hour before the event took place.
#
# Source: The newspaper "Dagens Nyheter", 1916-10-01, page 7 upper left.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Stockholm 1:12:12 - LMT 1878 May 31
1:12:12 - SMT 1900 Jan 1 1:00 # Stockholm MT
1:00 - CET 1916 Apr 14 23:00s
1:00 1:00 CEST 1916 Sep 30 23:00s
Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
1:00:14 - SET 1900 Jan 1 # Swedish Time
1:00 - CET 1916 May 14 23:00
1:00 1:00 CEST 1916 Oct 1 01:00
1:00 - CET 1980
1:00 EU CE%sT

View File

@ -1,4 +1,4 @@
# @(#)northamerica 7.58
# @(#)northamerica 7.59
# also includes Central America and the Caribbean
# This data is by no means authoritative; if you think you know better,
@ -81,12 +81,12 @@
# From Joseph Gallant <notquite@hotmail.com>, citing
# George H. Douglas, _The Early Days of Radio Broadcasting_ (1987):
# At 7 P.M. (Eastern War Time) [on 1945-08-14], the networks were set
# to switch to London for Atlee's address, but the American people
# to switch to London for Attlee's address, but the American people
# never got to hear his speech live. According to one press account,
# CBS' Bob Trout was first to announce the word of Japan's surrender,
# but a few seconds later, NBC, ABC and Mutual also flashed the word
# of surrender, all of whom interrupting the bells of Big Ben in
# London which were to precede Mr. Atlee's speech.
# London which were to precede Mr. Attlee's speech.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Mar lastSun 2:00 1:00 D
@ -185,13 +185,6 @@ Rule US 1987 max - Apr Sun>=1 2:00 1:00 D
# "Chamorro Standard Time" for time in Guam and the Northern Marianas.
# See the file "australasia".
# From Ryan Alessi of the Thousand Oaks Star (2001-02-15) via Rives McDow:
# Brad Sherman, D-Sherman Oaks, introduced a bill in Congress on
# Wednesday that could have California operating on Denver time as
# early as this summer.... The options include keeping
# daylight-saving time all year long, or setting clocks back two hours
# -- instead of just one -- during the existing daylight-saving time.
# US Eastern time, represented by New York
@ -280,7 +273,7 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:00
# Alaska
# AK%sT is the modern abbreviation for -9:00 per USNO.
#
# From Paul Eggert (2001-04-01):
# From Paul Eggert (2001-05-30):
# Howse writes that Alaska switched from the Julian to the Gregorian calendar,
# and from east-of-GMT to west-of-GMT days, when the US bought it from Russia.
# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian,
@ -288,6 +281,13 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:00
# ignoring the switch from Julian to Gregorian, since we can't represent
# the Julian calendar.
#
# As far as we know, none of the exact locations mentioned below were
# permanently inhabited in 1867 by anyone using either calendar.
# (Yakutat was colonized by the Russians in 1799, but the settlement
# was destroyed in 1805 by a Yakutat-kon war party.) However, there
# were nearby inhabitants in some cases and for our purposes perhaps
# it's best to simply use the official transition.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Juneau 15:02:19 - LMT 1867 Oct 18
-8:57:41 - LMT 1900 Aug 20 12:00
@ -407,7 +407,7 @@ Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00
# Pam Belluck reported in the New York Times (2001-01-31) that the
# Indiana Legislature is considering a bill to adopt DST statewide.
# Her article mentioned Vevay, whose post office observes a different
# time zone than Danner's Hardware across the street.
# time zone from Danner's Hardware across the street.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Indianapolis 1941 only - Jun 22 2:00 1:00 D
@ -589,10 +589,11 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
-6:00 US C%sT
# Navassa
# administered by the US Fish and Wildlife Service
# claimed by US under the provisions of the 1856 Guano Islands Act
# also claimed by Haiti
# occupied 1857/1900 by the Navassa Phosphate Co
# US lighthouse 1917/1997-01
# US lighthouse 1917/1996-09
# currently uninhabited
# see Mark Fineman, ``An Isle Rich in Guano and Discord'',
# _Los Angeles Times_ (1998-11-10), A1, A10; it cites

View File

@ -21,7 +21,7 @@
#ifndef lint
#ifndef NOID
static char privatehid[] = "@(#)private.h 7.51";
static char privatehid[] = "@(#)private.h 7.52";
#endif /* !defined NOID */
#endif /* !defined lint */
@ -54,6 +54,10 @@ static char privatehid[] = "@(#)private.h 7.51";
#define HAVE_SYMLINK 1
#endif /* !defined HAVE_SYMLINK */
#ifndef HAVE_SYS_STAT_H
#define HAVE_SYS_STAT_H 1
#endif /* !defined HAVE_SYS_STAT_H */
#ifndef HAVE_SYS_WAIT_H
#define HAVE_SYS_WAIT_H 1
#endif /* !defined HAVE_SYS_WAIT_H */
@ -122,16 +126,6 @@ static char privatehid[] = "@(#)private.h 7.51";
** Workarounds for compilers/systems.
*/
/*
** SunOS 4.1.1 cc lacks const.
*/
#ifndef const
#ifndef __STDC__
#define const
#endif /* !defined __STDC__ */
#endif /* !defined const */
/*
** SunOS 4.1.1 cc lacks prototypes.
*/

View File

@ -1,4 +1,4 @@
# @(#)southamerica 7.40
# @(#)southamerica 7.41
# 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
@ -493,16 +493,26 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# Because of the same drought, the government decided to end DST later,
# on April 3, (one-time change).
# From Gwillim Law (2001-02-20):
# I came across a Chilean on-line newspaper, La Tercera. Its
# <a href="http://www.tercera.cl/diario/1998/03/13/extras.html">
# 1998-03-13 issue
# </a>, says (my translation):
# "At 24:00 (midnight) tomorrow (Saturday) - 22:00 in the insular
# territory [Easter Island, Juan Fernandez, etc.] - winter time will
# begin in the entire country."
# From Gwillim Law (2001-05-04):
# I came across another article in "La Tercera" about Chilean DST.
# <http://www.tercera.cl/diario/2000/10/13/t-extras.html>
# It clearly confirms my earlier suggestion, that DST begins at 22:00
# on Easter Island.... But it also seems to be saying that the
# observance of DST in Chile began in 1966, rather than 1969 as
# ... [Shanks] has it....
#
# My translation:
#
# "The Chilean Army has announced that summer time will begin tomorrow,
# Saturday, October 14 in continental Chile, insular Chile, and
# Antarctica, as provided by Supreme Decree 25 of January 11, 1966.
# By the preceding, official time in continental Chile and Chilean
# Antarctic, and official time in Western Insular Chile, which applies
# to Easter Island and Sala y Gomez Island, will be set forward at
# midnight and at 22:00, respectively, by 20 minutes."
# From Paul Eggert (2001-02-21):
# From Paul Eggert (2001-05-04):
# Go with this article in preference to Shanks's 1969 date for modern DST.
# Assume this rule has been used since DST was introduced in the islands.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -510,8 +520,8 @@ Rule Chile 1918 only - Sep 1 0:00 1:00 S
Rule Chile 1919 only - Jul 2 0:00 0 -
Rule Chile 1927 1931 - Sep 1 0:00 1:00 S
Rule Chile 1928 1932 - Apr 1 0:00 0 -
Rule Chile 1969 1997 - Oct Sun>=9 4:00u 1:00 S
Rule Chile 1970 1998 - Mar Sun>=9 3:00u 0 -
Rule Chile 1966 1997 - Oct Sun>=9 4:00u 1:00 S
Rule Chile 1967 1998 - Mar Sun>=9 3:00u 0 -
Rule Chile 1998 only - Sep 27 4:00u 1:00 S
Rule Chile 1999 only - Apr 4 3:00u 0 -
Rule Chile 1999 max - Oct Sun>=9 4:00u 1:00 S
@ -528,10 +538,9 @@ Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
-7:00 Chile EAS%sT 1982 Mar 14 # Easter I Time
-6:00 Chile EAS%sT
#
# Whitman says Juan Fernandez Is are like America/Santiago.
# San Ambrosio, San Felix
# no information; probably like America/Santiago
# Sala y Gomez Island is like Pacific/Easter.
# Other Chilean locations, including Juan Fernandez Is, San Ambrosio,
# San Felix, and Antarctic bases, are like America/Santiago.
# Colombia
# Shanks specifies 24:00 for 1992 transition times; go with IATA,

View File

@ -1,15 +1,21 @@
#ifndef lint
#ifndef NOID
static char elsieid[] = "@(#)zic.c 7.101";
static char elsieid[] = "@(#)zic.c 7.102";
#endif /* !defined NOID */
#endif /* !defined lint */
#include "private.h"
#include "locale.h"
#include "tzfile.h"
#ifdef unix
#include "sys/stat.h" /* for umask manifest constants */
#endif /* defined unix */
#if HAVE_SYS_STAT_H
#include "sys/stat.h"
#endif
#ifdef S_IRUSR
#define MKDIR_UMASK (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
#else
#define MKDIR_UMASK 0755
#endif
/*
** On some ancient hosts, predicates like `isspace(C)' are defined
@ -2198,7 +2204,7 @@ char * const argname;
** created by some other multiprocessor, so we get
** to do extra checking.
*/
if (mkdir(name, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) != 0) {
if (mkdir(name, MKDIR_UMASK) != 0) {
const char *e = strerror(errno);
if (errno != EEXIST || !itsdir(name)) {

View File

@ -1,4 +1,4 @@
# @(#)zone.tab 1.22
# @(#)zone.tab 1.23
#
# TZ zone descriptions
#
@ -12,7 +12,7 @@
# first latitude (+ is north), then longitude (+ is east).
# 3. Zone name used in value of TZ environment variable.
# 4. Comments; present if and only if the country has multiple rows.
#
#
# Columns are separated by a single tab.
# The table is sorted first by country, then an order within the country that
# (1) makes some geographical sense, and
@ -120,8 +120,8 @@ CG -0416+01517 Africa/Brazzaville
CH +4723+00832 Europe/Zurich
CI +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago mainland
CL -2710-10927 Pacific/Easter Easter Island
CL -3327-07040 America/Santiago most locations
CL -2710-10927 Pacific/Easter Easter Island & Sala y Gomez
CM +0403+00942 Africa/Douala
CN +4545+12641 Asia/Harbin north Manchuria
CN +3114+12128 Asia/Shanghai China coast
@ -187,7 +187,8 @@ HR +4548+01558 Europe/Zagreb
HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java & Sumatra
ID -0507+11924 Asia/Ujung_Pandang Borneo & Celebes
ID -0002+10920 Asia/Pontianak west & central Borneo
ID -0507+11924 Asia/Ujung_Pandang east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor
ID -0232+14042 Asia/Jayapura Irian Jaya & the Moluccas
IE +5320-00615 Europe/Dublin
IL +3146+03514 Asia/Jerusalem
@ -237,7 +238,8 @@ ML +1239-00800 Africa/Bamako southwest Mali
ML +1446-00301 Africa/Timbuktu northeast Mali
MM +1647+09610 Asia/Rangoon
MN +4755+10653 Asia/Ulaanbaatar most locations
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Hovd, Uvs
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
#MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar (unsure about this)
MO +2214+11335 Asia/Macao
MP +1512+14545 Pacific/Saipan
MQ +1436-06105 America/Martinique