update from main archive 970101 libc-970102
authordrepper <drepper>
Wed, 1 Jan 1997 15:28:12 +0000 (15:28 +0000)
committerdrepper <drepper>
Wed, 1 Jan 1997 15:28:12 +0000 (15:28 +0000)
time/asia
time/australasia
time/difftime.c
time/europe
time/northamerica
time/southamerica
time/zic.c

index 7afe922..07cdb11 100644 (file)
--- a/time/asia
+++ b/time/asia
@@ -1,4 +1,4 @@
-# @(#)asia     7.26
+# @(#)asia     7.27
 
 # 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
@@ -354,6 +354,26 @@ Zone Asia/Jayapura 9:22:48 -       LMT     1932 Nov
                        9:00    -       JAYT
 
 # Iran
+# From Paul Eggert (1996-12-17), following up a suggestion by Rich Wales:
+# Ahmad Alavi <URL:http://tehran.stanford.edu/Iran_Lib/Calendar/taghveem.txt>
+# (1993-08-04) writes ``Daylight saving time in Iran starts from the first day
+# of Farvardin and ends the first day of Mehr.''  This disagrees with the SSIM:
+#
+#                 DST start       DST end
+#      year    SSIM    Alavi   SSIM    Alavi
+#      1991    05-03!= 03-21   09-20!= 09-23
+#      1992    03-22!= 03-21   09-23   09-23
+#      1993    03-21   03-21   09-23   09-23
+#      1994    03-21   03-21   09-22!= 09-23
+#      1995    03-21   03-21   09-22!= 09-23
+#      1996    03-21!= 03-20   09-21!= 09-22
+#      1997    03-21   03-21   09-21!= 09-23
+#
+# Go with Alavi starting with 1992.
+# I used Ed Reingold's cal-persia in GNU Emacs 19.34 to compute Persian dates.
+# The Persian calendar is based on the sun, and dates after around 2050
+# are approximate; stop after 2037 when 32-bit time_t's overflow.
+#
 # Rule NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
 Rule   Iran    1978    1980    -       Mar     21      0:00    1:00    S
 Rule   Iran    1978    only    -       Oct     21      0:00    0       -
@@ -361,11 +381,50 @@ Rule      Iran    1979    only    -       Sep     19      0:00    0       -
 Rule   Iran    1980    only    -       Sep     23      0:00    0       -
 Rule   Iran    1991    only    -       May      3      0:00s   1:00    S
 Rule   Iran    1991    only    -       Sep     20      0:00s   0       -
-Rule   Iran    1992    only    -       Mar     22      0:00    1:00    S
-Rule   Iran    1992    1993    -       Sep     23      0:00    0       -
-Rule   Iran    1993    max     -       Mar     21      0:00    1:00    S
-Rule   Iran    1994    1995    -       Sep     22      0:00    0       -
-Rule   Iran    1996    max     -       Sep     21      0:00    0       -
+Rule   Iran    1992    1995    -       Mar     21      0:00    1:00    S
+Rule   Iran    1992    1995    -       Sep     23      0:00    0       -
+Rule   Iran    1996    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    1996    only    -       Sep     22      0:00    0       -
+Rule   Iran    1997    1999    -       Mar     21      0:00    1:00    S
+Rule   Iran    1997    1999    -       Sep     23      0:00    0       -
+Rule   Iran    2000    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2000    only    -       Sep     22      0:00    0       -
+Rule   Iran    2001    2003    -       Mar     21      0:00    1:00    S
+Rule   Iran    2001    2003    -       Sep     23      0:00    0       -
+Rule   Iran    2004    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2004    only    -       Sep     22      0:00    0       -
+Rule   Iran    2005    2007    -       Mar     21      0:00    1:00    S
+Rule   Iran    2005    2007    -       Sep     23      0:00    0       -
+Rule   Iran    2008    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2008    only    -       Sep     22      0:00    0       -
+Rule   Iran    2009    2011    -       Mar     21      0:00    1:00    S
+Rule   Iran    2009    2011    -       Sep     23      0:00    0       -
+Rule   Iran    2012    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2012    only    -       Sep     22      0:00    0       -
+Rule   Iran    2013    2015    -       Mar     21      0:00    1:00    S
+Rule   Iran    2013    2015    -       Sep     23      0:00    0       -
+Rule   Iran    2016    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2016    only    -       Sep     22      0:00    0       -
+Rule   Iran    2017    2019    -       Mar     21      0:00    1:00    S
+Rule   Iran    2017    2019    -       Sep     23      0:00    0       -
+Rule   Iran    2020    only    -       Mar     20      0:00    1:00    S
+Rule   Iran    2020    only    -       Sep     22      0:00    0       -
+Rule   Iran    2021    2023    -       Mar     21      0:00    1:00    S
+Rule   Iran    2021    2023    -       Sep     23      0:00    0       -
+Rule   Iran    2024    2025    -       Mar     20      0:00    1:00    S
+Rule   Iran    2024    2025    -       Sep     22      0:00    0       -
+Rule   Iran    2026    2027    -       Mar     21      0:00    1:00    S
+Rule   Iran    2026    2027    -       Sep     23      0:00    0       -
+Rule   Iran    2028    2029    -       Mar     20      0:00    1:00    S
+Rule   Iran    2028    2029    -       Sep     22      0:00    0       -
+Rule   Iran    2030    2031    -       Mar     21      0:00    1:00    S
+Rule   Iran    2030    2031    -       Sep     23      0:00    0       -
+Rule   Iran    2032    2033    -       Mar     20      0:00    1:00    S
+Rule   Iran    2032    2033    -       Sep     22      0:00    0       -
+Rule   Iran    2034    2035    -       Mar     21      0:00    1:00    S
+Rule   Iran    2034    2035    -       Sep     23      0:00    0       -
+Rule   Iran    2036    2037    -       Mar     20      0:00    1:00    S
+Rule   Iran    2036    2037    -       Sep     22      0:00    0       -
 # Zone NAME            GMTOFF  RULES   FORMAT  [UNTIL]
 Zone   Asia/Tehran     3:25:44 -       LMT     1916
                        3:25:44 -       TMT     1946    # Tehran Mean Time
@@ -492,7 +551,7 @@ Rule        Zion    1995    only    -       Sep      3      0:00    0       S
 #
 #   ftp://ftp.huji.ac.il/pub/misc/timezones/announcements/1996-1998.ps.gz
 #
-# Emptor Caveat: The dates for the years 1996-1998 were originally announced
+# Caveat emptor: The dates for the years 1996-1998 were originally announced
 # on 1995-08-31, by the previous Minister of Interior.  The new Minister
 # of Interior changed the dates on 1996-01-01, to take into account the
 # desires of certain portions of Israeli society (the next election is in the
index be15771..811e569 100644 (file)
@@ -1,4 +1,4 @@
-# @(#)australasia      7.30
+# @(#)australasia      7.31
 # This file also includes Pacific islands.
 
 # Notes are at the end of this file
@@ -48,15 +48,15 @@ Zone Australia/Perth         7:43:24 -      LMT     1895 Dec
 # so use Lindeman.
 #
 # Rule NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
-Rule   QL      1989    1991    -       Oct     lastSun 2:00s   1:00    -
-Rule   QL      1990    1992    -       Mar     Sun>=1  2:00s   0       -
+Rule   AQ      1989    1991    -       Oct     lastSun 2:00s   1:00    -
+Rule   AQ      1990    1992    -       Mar     Sun>=1  2:00s   0       -
 Rule   Holiday 1989    1993    -       Oct     lastSun 2:00s   1:00    -
 Rule   Holiday 1990    1994    -       Mar     Sun>=1  2:00s   0       -
 Zone Australia/Brisbane        10:12:08 -      LMT     1895
                        10:00   -       EST     1917 Jan 1 0:01
                        10:00   Aus     EST     1971 Oct lastSun 2:00s
                        10:00   1:00    EST     1972 Feb lastSun 2:00s
-                       10:00   QL      EST
+                       10:00   AQ      EST
 Zone Australia/Lindeman  9:55:56 -     LMT     1895
                        10:00   -       EST     1917 Jan 1 0:01
                        10:00   Aus     EST     1971 Oct lastSun 2:00s
@@ -339,7 +339,7 @@ Zone Pacific/Palau  8:57:56 -       LMT     1901            # Koror
                        9:00    -       PWT     # Palau Time
 
 # Palmyra
-# uninhabited since World War II; was probably like Pacific/Kiritmati
+# uninhabited since World War II; was probably like Pacific/Kiritimati
 
 # Papua New Guinea
 # Zone NAME            GMTOFF  RULES   FORMAT  [UNTIL]
index 49c5bfb..1704717 100644 (file)
@@ -1,28 +1,30 @@
-/* Copyright (C) 1991, 1994 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1994, 1996 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
 
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
 
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
-#include <ansidecl.h>
 #include <time.h>
+#include <values.h>
 
 
 /* Return the difference between TIME1 and TIME0.  */
 double
-DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0)
+difftime (time1, time0)
+     time_t time1;
+     time_t time0;
 {
   /* Algorithm courtesy Paul Eggert (eggert@twinsun.com).  */
 
@@ -30,8 +32,8 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0)
 
   if (sizeof (time_t) < sizeof (double))
     return (double) time1 - (double) time0;
-  if (sizeof (time_t) < sizeof (LONG_DOUBLE))
-    return (LONG_DOUBLE) time1 - (LONG_DOUBLE) time0;
+  if (sizeof (time_t) < sizeof (long double))
+    return (long double) time1 - (long double) time0;
 
   if (time1 < time0)
     return - difftime (time0, time1);
@@ -43,9 +45,7 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0)
     return delta;
 
   /* Repair delta overflow.  */
-  hibit = 1;
-  while ((hibit <<= 1) > 0)
-    continue;
+  hibit = (~ (time_t) 0) << (_TYPEBITS (time_t) - 1);
 
   /* The following expression rounds twice, which means the result may not
      be the closest to the true answer.  For example, suppose time_t is
@@ -62,5 +62,5 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0)
      round twice when converting large unsigned types to small floating
      types, so if time_t is unsigned the "return delta" above has the same
      double-rounding problem.  */
-  return delta - 2 * (LONG_DOUBLE) hibit;
+  return delta - 2 * (long double) hibit;
 }
index 6eb92b7..78ad05d 100644 (file)
@@ -1,4 +1,4 @@
-# @(#)europe   7.41
+# @(#)europe   7.42
 
 # 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
@@ -78,7 +78,7 @@
 # of the text said:
 #
 # `An old stone obelisk marking a forgotten terrestrial meridian stands
-# beside the river at Kew. In the 18th century, before time and longditude
+# beside the river at Kew. In the 18th century, before time and longitude
 # was standardised by the Royal Observatory in Greenwich, scholars observed
 # this stone and the movement of stars from Kew Observatory nearby. They
 # made their calculations and set the time for the Horse Guards and Parliament,
@@ -86,7 +86,7 @@
 # along the towpath within a few yards of it.'
 #
 # I have a one inch to one mile map of London and my estimate of the stone's
-# position is 51 deg. 28' 30" N, 0 deg. 18' 45" W. The longditude should
+# position is 51 deg. 28' 30" N, 0 deg. 18' 45" W. The longitude should
 # be within about +-2". The Ordnance Survey grid reference is TQ172761.
 #
 # [This yields GMTOFF = -0:01:15 for London LMT in the 18th century.]
 # It ends at 02:00 GMT on the morning of the day after the fourth Saturday
 # in October. (All the redundant `morning of the day ...' is in the Act.)
 # This is only of passing interest now as it will always be overridden by
-# an Order in Council (a Statutary Instrument, the SI thing mentioned above)
+# an Order in Council (a Statutory Instrument, the SI thing mentioned above)
 # to specify the EC specified dates.
 
 # From Peter Ilieve <peter@memex.co.uk> (1993-10-18):
 # so that part of the 1922 Act will still apply.
 #
 # - The Defence (Summer Time) Regulations, 1939, SR&O 1939 No. 1379
-#   [SR&O == Statutary Regulation and Order]
+#   [SR&O == Statutory Regulation and Order]
 #
 # These were made under the Emergency Powers (Defence) Act, 1939.
 # It changes the end date to be the day after the third Saturday in November.
 # harmonise with the EC since 1981. The major change is that the time changes
 # to 01:00 GMT.)
 #
-# - The Summer Time Order, 1992, SI 1992/1729 [SI == Statutary Instrument]
+# - The Summer Time Order, 1992, SI 1992/1729 [SI == Statutory Instrument]
 #
 # This specifies dates of:
 #       Start       End
@@ -1298,7 +1298,7 @@ Zone      Europe/Athens   1:34:52 -       LMT     1895 Sep 14
                        1:00    Greece  CE%sT   1944 Apr  4
                        2:00    Greece  EE%sT   1981
                        # Shanks says they switched to C-Eur in 1981;
-                       # go with EU intead, since Greece joined it on Jan 1.
+                       # go with EU instead, since Greece joined it on Jan 1.
                        2:00    EU      EE%sT
 
 # Hungary
@@ -1819,9 +1819,15 @@ Zone Europe/Bucharest    1:44:24 -       LMT     1891 Oct
                        2:00    E-Eur   EE%sT
 
 # Russia
-# From Shanks (1991):
-# In 1929 the Soviet Union instituted a 5 day week; in 1932 it instituted
-# a 6 day week; on 1940-06-27 it returned to the Gregorian week.
+
+# From Chris Carrier <72157.3334@CompuServe.COM> (1996-12-02):
+# On 1929-10-01 the Soviet Union instituted an ``Eternal Calendar''
+# with 30-day months plus 5 holidays, with a 5-day week.
+# On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the
+# Gregorian calendar while retaining the 6-day week; on 1940-06-27 it
+# reverted to the 7-day week.  With the 6-day week the usual days
+# off were the 6th, 12th, 18th, 24th and 30th of the month.
+# (Source: Evitiar Zerubavel, _The Seven Day Circle_)
 #
 # From Paul Eggert <eggert@twinsun.com> (1996-11-22):
 # Except for Moscow after 1919-07-01, I invented the time zone abbreviations,
@@ -1882,7 +1888,7 @@ Zone Asia/Omsk             4:53:36 -      LMT     1924 May  2
 # as far as I remember it was done exactly during winter->summer switching
 # so we (Novosibirsk) simply did not switch.
 Zone Asia/Novosibirsk   5:31:40 -      LMT     1924 May  2
-                        6:00   -       NOVT    1957 Mar # Novosibirsk TIme
+                        6:00   -       NOVT    1957 Mar # Novosibirsk Time
                         7:00   Russia  NOV%sT  1991 Mar 31 2:00s
                         6:00   1:00    NOVST   1991 Sep 29 2:00s
                         6:00   -       NOVT    1992 Jan 19 2:00s
@@ -2134,7 +2140,7 @@ Link      Europe/Istanbul Asia/Istanbul   # Istanbul is in both continents.
 # Ukraine
 # Rule NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
 Rule   Ukraine 1917    only    -       Jul      1      23:00   1:00    UST     # Ukrainian Summer Time
-Rule   Ukraine 1917    only    -       Dec     28       0:00   0       KMT     # Kiev Mean TIme
+Rule   Ukraine 1917    only    -       Dec     28       0:00   0       KMT     # Kiev Mean Time
 Rule   Ukraine 1918    only    -       May     31      22:00   2:00    UDST    # Ukrainian Double Summer Time
 Rule   Ukraine 1918    only    -       Sep     17       0:00   1:00    UST
 Rule   Ukraine 1919    only    -       May     31      23:00   2:00    UDST
index af81c5e..9bd959e 100644 (file)
@@ -1,4 +1,4 @@
-# @(#)northamerica     7.29
+# @(#)northamerica     7.30
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -920,9 +920,9 @@ Zone America/Dawson -9:17:40 -      LMT     1900 Aug 20
 # MEXICO BAJA CAL N   7 H  BEHIND UTC    BAJA CALIFORNIA SUR AND
 # MEXICO BAJA CAL N                      N. PACIFIC COAST (STATES
 # MEXICO BAJA CAL N                      OF SINALOA AND SONORA)
-# MEXICO BAJA CAL N   8 H  BEHIND UTC    ABOVE 28TH PARALLAL APR 3
+# MEXICO BAJA CAL N   8 H  BEHIND UTC    ABOVE 28TH PARALLEL APR 3
 # MEXICO BAJA CAL N                      - OCT 29
-# MEXICO BAJA CAL N   7 H  BEHIND UTC    ABOVE 28TH PARALLAL APR 3
+# MEXICO BAJA CAL N   7 H  BEHIND UTC    ABOVE 28TH PARALLEL APR 3
 # MEXICO BAJA CAL N                      - 0CT 29
 # MEXICO              6 H  BEHIND UTC    STATES OF DURANGO,
 # MEXICO                                 COAHUILA, NUEVO LEON,
index 1fdde5e..b2b5138 100644 (file)
@@ -1,4 +1,4 @@
-# @(#)southamerica     7.15
+# @(#)southamerica     7.16
 
 # 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
@@ -61,7 +61,7 @@
 # ARGENTINA           3 H BEHIND   UTC
 
 # From Hernan G. Otero <hernan@isoft.com.ar> (1995-06-26):
-# I am sending modifications to the Argentinian time zone table...
+# I am sending modifications to the Argentine time zone table...
 # AR was chosen because they are the ISO letters that represent Argentina.
 
 # Rule NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
@@ -99,7 +99,7 @@ Rule  Arg     1988    only    -       Dec      1      0:00    1:00    S
 # These corrections were contributed by InterSoft Argentina S.A.,
 # obtaining the data from the:
 # Talleres de Hidrografia Naval Argentina
-# (Argentinian Naval Hydrography Institute)
+# (Argentine Naval Hydrography Institute)
 #
 # Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero.
 Rule   Arg     1989    1993    -       Mar     Sun>=1  0:00    0       -
index f75834c..5a0063a 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef lint
 #ifndef NOID
-static char    elsieid[] = "@(#)zic.c  7.79";
+static char    elsieid[] = "@(#)zic.c  7.80";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -1697,7 +1697,7 @@ const int                 zonecount;
                                        (void) strcpy(startbuf, zp->z_format);
                        eat(zp->z_filename, zp->z_linenum);
                        if (*startbuf == '\0')
-error(_("can't determine time zone abbrevation to use just after until time"));
+error(_("can't determine time zone abbreviation to use just after until time"));
                        else    addtt(starttime,
                                        addtype(startoff, startbuf,
                                                startoff != zp->z_gmtoff,