This bounced the first time.<br><br clear="all">Mark<br>
<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Mark Davis</b> <span dir="ltr"><<a href="mailto:mark.edward.davis@gmail.com">mark.edward.davis@gmail.com</a>></span><br>
Date: Wed, Jan 14, 2009 at 18:10<br>Subject: Re: proposed time zone package changes<br>To: <a href="mailto:tz@elsie.nci.nih.gov">tz@elsie.nci.nih.gov</a><br>Cc: <a href="mailto:tz@lecserver.nci.nih.gov">tz@lecserver.nci.nih.gov</a><br>
<br><br>I object to adding Geneva.<br><br>The rule has always been to only add new IDs when they are distinct after Jan 1, 1970. This does not appear to meet that criterion. As a matter of fact, not so long ago some IDs were dropped precisely because they did not meet that criterion.<br>
<br>(If we added any and all IDs without a cutoff date, we would have a disastrous blowup in the number of IDs.)<br><font color="#888888"><br clear="all">Mark</font><div><div></div><div class="Wj3C7c"><br>
<br><br><div class="gmail_quote">On Wed, Jan 14, 2009 at 10:51, Arthur David Olson <span dir="ltr"><<a href="mailto:olsona@elsie.nci.nih.gov" target="_blank">olsona@elsie.nci.nih.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Here are proposed time zone package changes, preceded by a list of files<br>
to be changed and reasons for the changes. If these pass muster,<br>
tzcode2009a.tar.gz and <a href="http://tzdata2009a.tar.tz" target="_blank">tzdata2009a.tar.tz</a> will appear a week from today<br>
(on an unusual Wednesday since both Monday and Tuesday are leave days for<br>
U. S. federal employees in the Washington, D. C. area).<br>
<br>
--ado<br>
<br>
* asia<br>
change Katmandu to Kathmandu<br>
<br>
* backward<br>
provide Katmandu link<br>
<br>
* europe<br>
correct Swiss rules; add Europe/Geneva<br>
<br>
* northamerica<br>
clearer definition of Cuban transitions (no binary change)<br>
Resolute changes abbreviation (but not time) twice a year<br>
<br>
* strftime.c<br>
c format warning fix<br>
<br>
* tzselect.ksh<br>
--help and --version handling<br>
<br>
* zdump.c<br>
--help and --version handling<br>
<br>
* zic.c<br>
--help and --version handling<br>
fix infinite loop caused by overflow/optimization interaction<br>
<br>
* zone.tab<br>
Change Katmandu to Kathmandu<br>
Change Resolute from Eastern Time to Eastern Standard Time<br>
Add Europe/Geneva<br>
<br>
diff -r -c old/asia new/asia<br>
*** old/asia Wed Oct 8 08:35:57 2008<br>
--- new/asia Wed Jan 14 11:15:49 2009<br>
***************<br>
*** 1,4 ****<br>
! # @(#)asia 8.24<br>
# <pre><br>
<br>
# This data is by no means authoritative; if you think you know better,<br>
--- 1,4 ----<br>
! # @(#)asia 8.25<br>
# <pre><br>
<br>
# This data is by no means authoritative; if you think you know better,<br>
***************<br>
*** 1474,1480 ****<br>
<br>
# Nepal<br>
# Zone NAME GMTOFF RULES FORMAT [UNTIL]<br>
! Zone Asia/Katmandu 5:41:16 - LMT 1920<br>
5:30 - IST 1986<br>
5:45 - NPT # Nepal Time<br>
<br>
--- 1474,1480 ----<br>
<br>
# Nepal<br>
# Zone NAME GMTOFF RULES FORMAT [UNTIL]<br>
! Zone Asia/Kathmandu 5:41:16 - LMT 1920<br>
5:30 - IST 1986<br>
5:45 - NPT # Nepal Time<br>
<br>
diff -r -c old/backward new/backward<br>
*** old/backward Tue Sep 9 22:33:26 2008<br>
--- new/backward Wed Jan 14 11:15:49 2009<br>
***************<br>
*** 1,4 ****<br>
! # @(#)backward 8.6<br>
<br>
# This file provides links between current names for time zones<br>
# and their old names. Many names changed in late 1993.<br>
--- 1,4 ----<br>
! # @(#)backward 8.7<br>
<br>
# This file provides links between current names for time zones<br>
# and their old names. Many names changed in late 1993.<br>
***************<br>
*** 24,29 ****<br>
--- 24,30 ----<br>
Link Asia/Ashgabat Asia/Ashkhabad<br>
Link Asia/Chongqing Asia/Chungking<br>
Link Asia/Dhaka Asia/Dacca<br>
+ Link Asia/Kathmandu Asia/Katmandu<br>
Link Asia/Kolkata Asia/Calcutta<br>
Link Asia/Macau Asia/Macao<br>
Link Asia/Jerusalem Asia/Tel_Aviv<br>
diff -r -c old/europe new/europe<br>
*** old/europe Tue Sep 9 22:33:25 2008<br>
--- new/europe Wed Jan 14 13:37:27 2009<br>
***************<br>
*** 1,4 ****<br>
! # @(#)europe 8.18<br>
# <pre><br>
<br>
# This data is by no means authoritative; if you think you know better,<br>
--- 1,4 ----<br>
! # @(#)europe 8.19<br>
# <pre><br>
<br>
# This data is by no means authoritative; if you think you know better,<br>
***************<br>
*** 2313,2328 ****<br>
# mean time in preference to apparent time -- Geneva from 1780 ....<br>
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
# From Whitman (who writes ``Midnight?''):<br>
! Rule Swiss 1940 only - Nov 2 0:00 1:00 S<br>
! Rule Swiss 1940 only - Dec 31 0:00 0 -<br>
# From Shanks & Pottenger:<br>
! Rule Swiss 1941 1942 - May Sun>=1 2:00 1:00 S<br>
! Rule Swiss 1941 1942 - Oct Sun>=1 0:00 0 -<br>
# Zone NAME GMTOFF RULES FORMAT [UNTIL]<br>
Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12<br>
0:29:44 - BMT 1894 Jun # Bern Mean Time<br>
1:00 Swiss CE%sT 1981<br>
1:00 EU CE%sT<br>
<br>
# Turkey<br>
<br>
--- 2313,2384 ----<br>
# mean time in preference to apparent time -- Geneva from 1780 ....<br>
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
# From Whitman (who writes ``Midnight?''):<br>
! # Rule Swiss 1940 only - Nov 2 0:00 1:00 S<br>
! # Rule Swiss 1940 only - Dec 31 0:00 0 -<br>
# From Shanks & Pottenger:<br>
! # Rule Swiss 1941 1942 - May Sun>=1 2:00 1:00 S<br>
! # Rule Swiss 1941 1942 - Oct Sun>=1 0:00 0 -<br>
!<br>
! # From Alois Treindl (2008-12-17):<br>
! # I have researched the DST usage in Switzerland during the 1940ies.<br>
! #<br>
! # As I wrote in an earlier message, I suspected the current tzdata values<br>
! # to be wrong. This is now verified.<br>
! #<br>
! # I have found copies of the original ruling by the Swiss Federal<br>
! # government, in 'Eidgen[o]ssische Gesetzessammlung 1941 and 1942' (Swiss<br>
! # federal law collection)...<br>
! #<br>
! # DST began on Monday 5 May 1941, 1:00 am by shifting the clocks to 2:00 am<br>
! # DST ended on Monday 6 Oct 1941, 2:00 am by shifting the clocks to 1:00 am.<br>
! #<br>
! # DST began on Monday, 4 May 1942 at 01:00 am<br>
! # DST ended on Monday, 5 Oct 1942 at 02:00 am<br>
! #<br>
! # There was no DST in 1940, I have checked the law collection carefully.<br>
! # It is also indicated by the fact that the 1942 entry in the law<br>
! # collection points back to 1941 as a reference, but no reference to any<br>
! # other years are made.<br>
! #<br>
! # Newspaper articles I have read in the archives on 6 May 1941 reported<br>
! # about the introduction of DST (Sommerzeit in German) during the previous<br>
! # night as an absolute novelty, because this was the first time that such<br>
! # a thing had happened in Switzerland.<br>
! #<br>
! # I have also checked 1916, because one book source (Gabriel, Traite de<br>
! # l'heure dans le monde) claims that Switzerland had DST in 1916. This is<br>
! # false, no official document could be found. Probably Gabriel got misled<br>
! # by references to Germany, which introduced DST in 1916 for the first time.<br>
! #<br>
! # The tzdata rules for Switzerland must be changed to:<br>
! # Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S<br>
! # Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -<br>
! #<br>
! # The 1940 rules must be deleted.<br>
! #<br>
! # One further detail for Switzerland, which is probably out of scope for<br>
! # most users of tzdata:<br>
! # The zone file<br>
! # Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12<br>
! # 0:29:44 - BMT 1894 Jun #Bern Mean Time<br>
! # 1:00 Swiss CE%sT 1981<br>
! # 1:00 EU CE%sT<br>
! # describes all of Switzerland correctly, with the exception of<br>
! # the Cantone Geneve (Geneva, Genf). Between 1848 and 1894 Geneve did not<br>
! # follow Bern Mean Time but kept its own local mean time.<br>
! # To represent this, an extra zone would be needed.<br>
!<br>
! # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
! Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S<br>
! Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -<br>
# Zone NAME GMTOFF RULES FORMAT [UNTIL]<br>
Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12<br>
0:29:44 - BMT 1894 Jun # Bern Mean Time<br>
1:00 Swiss CE%sT 1981<br>
1:00 EU CE%sT<br>
+ Zone Europe/Geneva 0:24:56 - LMT 1894 Jun # avoid GMT<br>
+ 1:00 Swiss CE%sT 1981<br>
+ 1:00 EU CE%sT<br>
<br>
# Turkey<br>
<br>
diff -r -c old/northamerica new/northamerica<br>
*** old/northamerica Tue Sep 9 16:05:43 2008<br>
--- new/northamerica Wed Jan 14 12:32:15 2009<br>
***************<br>
*** 1,4 ****<br>
! # @(#)northamerica 8.24<br>
# <pre><br>
<br>
# also includes Central America and the Caribbean<br>
--- 1,4 ----<br>
! # @(#)northamerica 8.26<br>
# <pre><br>
<br>
# also includes Central America and the Caribbean<br>
***************<br>
*** 1742,1751 ****<br>
# The individual that answered the phone confirmed that the clocks did not<br>
# move at the end of daylight saving on October 29/2006. He also told me that<br>
# the clocks did not move this past weekend (March 11/2007)....<br>
- #<br>
- # America/Resolute should use the "Canada" Rule up to October 29/2006.<br>
- # After that it should be fixed on Eastern Standard Time until further notice.<br>
<br>
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D<br>
Rule NT_YK 1918 only - Oct 27 2:00 0 S<br>
--- 1742,1755 ----<br>
# The individual that answered the phone confirmed that the clocks did not<br>
# move at the end of daylight saving on October 29/2006. He also told me that<br>
# the clocks did not move this past weekend (March 11/2007)....<br>
<br>
+ # From Chris Walton (2008-11-13):<br>
+ # ...the residents of Resolute believe that they are changing "time zones"<br>
+ # twice a year. In winter months, local time is qualified with "Eastern<br>
+ # Time" which is really "Eastern Standard Time (UTC-5)". In summer<br>
+ # months, local time is qualified with "Central Time" which is really<br>
+ # "Central Daylight Time (UTC-5)"...<br>
+<br>
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D<br>
Rule NT_YK 1918 only - Oct 27 2:00 0 S<br>
***************<br>
*** 1772,1782 ****<br>
-6:00 Canada C%sT 2000 Oct 29 2:00<br>
-5:00 Canada E%sT<br>
# aka Qausuittuq<br>
Zone America/Resolute 0 - zzz 1947 Aug 31 # Resolute founded<br>
-6:00 NT_YK C%sT 2000 Oct 29 2:00<br>
-5:00 - EST 2001 Apr 1 3:00<br>
-6:00 Canada C%sT 2006 Oct 29 2:00<br>
! -5:00 - EST<br>
# aka Kangiqiniq<br>
Zone America/Rankin_Inlet 0 - zzz 1957 # Rankin Inlet founded<br>
-6:00 NT_YK C%sT 2000 Oct 29 2:00<br>
--- 1776,1789 ----<br>
-6:00 Canada C%sT 2000 Oct 29 2:00<br>
-5:00 Canada E%sT<br>
# aka Qausuittuq<br>
+ # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S<br>
+ Rule Resolute 2006 max - Nov Sun>=1 2:00 0 ES<br>
+ Rule Resolute 2007 max - Mar Sun>=8 2:00 0 CD<br>
Zone America/Resolute 0 - zzz 1947 Aug 31 # Resolute founded<br>
-6:00 NT_YK C%sT 2000 Oct 29 2:00<br>
-5:00 - EST 2001 Apr 1 3:00<br>
-6:00 Canada C%sT 2006 Oct 29 2:00<br>
! -5:00 Resolute %sT<br>
# aka Kangiqiniq<br>
Zone America/Rankin_Inlet 0 - zzz 1957 # Rankin Inlet founded<br>
-6:00 NT_YK C%sT 2000 Oct 29 2:00<br>
***************<br>
*** 2280,2286 ****<br>
Rule Cuba 1997 only - Oct 12 0:00s 0 S<br>
Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D<br>
Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S<br>
! Rule Cuba 2000 2006 - Apr Sun>=1 0:00s 1:00 D<br>
Rule Cuba 2006 max - Oct lastSun 0:00s 0 S<br>
Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D<br>
Rule Cuba 2008 max - Mar Sun>=15 0:00s 1:00 D<br>
--- 2287,2293 ----<br>
Rule Cuba 1997 only - Oct 12 0:00s 0 S<br>
Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D<br>
Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S<br>
! Rule Cuba 2000 2004 - Apr Sun>=1 0:00s 1:00 D<br>
Rule Cuba 2006 max - Oct lastSun 0:00s 0 S<br>
Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D<br>
Rule Cuba 2008 max - Mar Sun>=15 0:00s 1:00 D<br>
diff -r -c old/strftime.c new/strftime.c<br>
*** old/strftime.c Mon Sep 15 09:24:42 2008<br>
--- new/strftime.c Wed Jan 14 12:33:56 2009<br>
***************<br>
*** 1,6 ****<br>
#ifndef lint<br>
#ifndef NOID<br>
! static char elsieid[] = "@(#)strftime.c 8.2";<br>
/*<br>
** Based on the UCB version with the ID appearing below.<br>
** This is ANSIish only when "multibyte character == plain character".<br>
--- 1,6 ----<br>
#ifndef lint<br>
#ifndef NOID<br>
! static char elsieid[] = "@(#)strftime.c 8.3";<br>
/*<br>
** Based on the UCB version with the ID appearing below.<br>
** This is ANSIish only when "multibyte character == plain character".<br>
***************<br>
*** 216,222 ****<br>
{<br>
int warn2 = IN_SOME;<br>
<br>
! pt = _fmt(Locale->c_fmt, t, pt, ptlim, warnp);<br>
if (warn2 == IN_ALL)<br>
warn2 = IN_THIS;<br>
if (warn2 > *warnp)<br>
--- 216,222 ----<br>
{<br>
int warn2 = IN_SOME;<br>
<br>
! pt = _fmt(Locale->c_fmt, t, pt, ptlim, &warn2);<br>
if (warn2 == IN_ALL)<br>
warn2 = IN_THIS;<br>
if (warn2 > *warnp)<br>
diff -r -c old/tzselect.ksh new/tzselect.ksh<br>
*** old/tzselect.ksh Tue Sep 9 22:33:17 2008<br>
--- new/tzselect.ksh Wed Jan 14 10:56:24 2009<br>
***************<br>
*** 1,6 ****<br>
#! /bin/ksh<br>
<br>
! # '@(#)tzselect.ksh 8.1'<br>
<br>
# Ask the user about the time zone, and output the resulting TZ value to stdout.<br>
# Interact with the user via stderr and stdin.<br>
--- 1,6 ----<br>
#! /bin/ksh<br>
<br>
! VERSION='@(#)tzselect.ksh 8.2'<br>
<br>
# Ask the user about the time zone, and output the resulting TZ value to stdout.<br>
# Interact with the user via stderr and stdin.<br>
***************<br>
*** 45,50 ****<br>
--- 45,65 ----<br>
exit 1<br>
}<br>
<br>
+ if [ "$1" = "--help" ]; then<br>
+ cat <<EOF<br>
+ Usage: tzselect<br>
+ Select a time zone interactively.<br>
+<br>
+ Report bugs to <a href="mailto:tz@elsie.nci.nih.gov" target="_blank">tz@elsie.nci.nih.gov</a>.<br>
+ EOF<br>
+ exit 0<br>
+ elif [ "$1" = "--version" ]; then<br>
+ cat <<EOF<br>
+ tzselect $VERSION<br>
+ EOF<br>
+ exit 0<br>
+ fi<br>
+<br>
# Make sure the tables are readable.<br>
TZ_COUNTRY_TABLE=$TZDIR/iso3166.tab<br>
TZ_ZONE_TABLE=$TZDIR/zone.tab<br>
diff -r -c old/zdump.c new/zdump.c<br>
*** old/zdump.c Tue Sep 9 22:33:24 2008<br>
--- new/zdump.c Wed Jan 14 11:01:56 2009<br>
***************<br>
*** 1,4 ****<br>
! static char elsieid[] = "@(#)zdump.c 8.6";<br>
<br>
/*<br>
** This code has been made independent of the rest of the time<br>
--- 1,4 ----<br>
! static char elsieid[] = "@(#)zdump.c 8.8";<br>
<br>
/*<br>
** This code has been made independent of the rest of the time<br>
***************<br>
*** 230,235 ****<br>
--- 230,246 ----<br>
warned = TRUE;<br>
}<br>
<br>
+ static void<br>
+ usage(const char *progname, FILE *stream, int status)<br>
+ {<br>
+ (void) fprintf(stream,<br>
+ _("%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n\<br>
+ \n\<br>
+ Report bugs to tz@elsie.nci.nih.gov.\n"),<br>
+ progname, progname);<br>
+ exit(status);<br>
+ }<br>
+<br>
int<br>
main(argc, argv)<br>
int argc;<br>
***************<br>
*** 266,271 ****<br>
--- 277,284 ----<br>
if (strcmp(argv[i], "--version") == 0) {<br>
(void) printf("%s\n", elsieid);<br>
exit(EXIT_SUCCESS);<br>
+ } else if (strcmp(argv[i], "--help") == 0) {<br>
+ usage(progname, stdout, EXIT_SUCCESS);<br>
}<br>
vflag = 0;<br>
cutarg = NULL;<br>
***************<br>
*** 275,284 ****<br>
else cutarg = optarg;<br>
if ((c != EOF && c != -1) ||<br>
(optind == argc - 1 && strcmp(argv[optind], "=") == 0)) {<br>
! (void) fprintf(stderr,<br>
! _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),<br>
! progname, progname);<br>
! exit(EXIT_FAILURE);<br>
}<br>
if (vflag) {<br>
if (cutarg != NULL) {<br>
--- 288,294 ----<br>
else cutarg = optarg;<br>
if ((c != EOF && c != -1) ||<br>
(optind == argc - 1 && strcmp(argv[optind], "=") == 0)) {<br>
! usage(progname, stderr, EXIT_FAILURE);<br>
}<br>
if (vflag) {<br>
if (cutarg != NULL) {<br>
***************<br>
*** 349,361 ****<br>
(void) strncpy(buf, abbr(&tm), (sizeof buf) - 1);<br>
}<br>
for ( ; ; ) {<br>
! if (t >= cuthitime)<br>
break;<br>
newt = t + SECSPERHOUR * 12;<br>
- if (newt >= cuthitime)<br>
- break;<br>
- if (newt <= t)<br>
- break;<br>
newtmp = localtime(&newt);<br>
if (newtmp != NULL)<br>
newtm = *newtmp;<br>
--- 359,367 ----<br>
(void) strncpy(buf, abbr(&tm), (sizeof buf) - 1);<br>
}<br>
for ( ; ; ) {<br>
! if (t >= cuthitime || t >= cuthitime - SECSPERHOUR * 12)<br>
break;<br>
newt = t + SECSPERHOUR * 12;<br>
newtmp = localtime(&newt);<br>
if (newtmp != NULL)<br>
newtm = *newtmp;<br>
diff -r -c old/zic.c new/zic.c<br>
*** old/zic.c Tue Sep 9 22:33:18 2008<br>
--- new/zic.c Wed Jan 14 10:59:48 2009<br>
***************<br>
*** 3,9 ****<br>
** 2006-07-17 by Arthur David Olson.<br>
*/<br>
<br>
! static char elsieid[] = "@(#)zic.c 8.17";<br>
<br>
#include "private.h"<br>
#include "locale.h"<br>
--- 3,9 ----<br>
** 2006-07-17 by Arthur David Olson.<br>
*/<br>
<br>
! static char elsieid[] = "@(#)zic.c 8.18";<br>
<br>
#include "private.h"<br>
#include "locale.h"<br>
***************<br>
*** 156,162 ****<br>
const struct zone * zp, int ntzones);<br>
static void setboundaries(void);<br>
static zic_t tadd(zic_t t1, long t2);<br>
! static void usage(void);<br>
static void writezone(const char * name, const char * string);<br>
static int yearistype(int year, const char * type);<br>
<br>
--- 156,162 ----<br>
const struct zone * zp, int ntzones);<br>
static void setboundaries(void);<br>
static zic_t tadd(zic_t t1, long t2);<br>
! static void usage(FILE *stream, int status);<br>
static void writezone(const char * name, const char * string);<br>
static int yearistype(int year, const char * type);<br>
<br>
***************<br>
*** 454,466 ****<br>
}<br>
<br>
static void<br>
! usage(void)<br>
{<br>
! (void) fprintf(stderr, _("%s: usage is %s \<br>
! [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\<br>
! \t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"),<br>
! progname, progname);<br>
! exit(EXIT_FAILURE);<br>
}<br>
<br>
static const char * psxrules;<br>
--- 454,468 ----<br>
}<br>
<br>
static void<br>
! usage(FILE *stream, int status)<br>
{<br>
! (void) fprintf(stream, _("%s: usage is %s \<br>
! [ --version ] [ --help ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\<br>
! \t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n\<br>
! \n\<br>
! Report bugs to tz@elsie.nci.nih.gov.\n"),<br>
! progname, progname);<br>
! exit(status);<br>
}<br>
<br>
static const char * psxrules;<br>
***************<br>
*** 498,508 ****<br>
if (strcmp(argv[i], "--version") == 0) {<br>
(void) printf("%s\n", elsieid);<br>
exit(EXIT_SUCCESS);<br>
}<br>
while ((c = getopt(argc, argv, "d:l:p:L:vsy:")) != EOF && c != -1)<br>
switch (c) {<br>
default:<br>
! usage();<br>
case 'd':<br>
if (directory == NULL)<br>
directory = optarg;<br>
--- 500,512 ----<br>
if (strcmp(argv[i], "--version") == 0) {<br>
(void) printf("%s\n", elsieid);<br>
exit(EXIT_SUCCESS);<br>
+ } else if (strcmp(argv[i], "--help") == 0) {<br>
+ usage(stdout, EXIT_SUCCESS);<br>
}<br>
while ((c = getopt(argc, argv, "d:l:p:L:vsy:")) != EOF && c != -1)<br>
switch (c) {<br>
default:<br>
! usage(stderr, EXIT_FAILURE);<br>
case 'd':<br>
if (directory == NULL)<br>
directory = optarg;<br>
***************<br>
*** 561,567 ****<br>
break;<br>
}<br>
if (optind == argc - 1 && strcmp(argv[optind], "=") == 0)<br>
! usage(); /* usage message by request */<br>
if (directory == NULL)<br>
directory = TZDIR;<br>
if (yitcommand == NULL)<br>
--- 565,571 ----<br>
break;<br>
}<br>
if (optind == argc - 1 && strcmp(argv[optind], "=") == 0)<br>
! usage(stderr, EXIT_FAILURE); /* usage message by request */<br>
if (directory == NULL)<br>
directory = TZDIR;<br>
if (yitcommand == NULL)<br>
diff -r -c old/zone.tab new/zone.tab<br>
*** old/zone.tab Tue Oct 21 12:10:25 2008<br>
--- new/zone.tab Wed Jan 14 13:40:29 2009<br>
***************<br>
*** 1,4 ****<br>
! # @(#)zone.tab 8.21<br>
#<br>
# TZ zone descriptions<br>
#<br>
--- 1,4 ----<br>
! # @(#)zone.tab 8.25<br>
#<br>
# TZ zone descriptions<br>
#<br>
***************<br>
*** 116,122 ****<br>
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario<br>
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations<br>
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut<br>
! CA +744144-0944945 America/Resolute Eastern Time - Resolute, Nunavut<br>
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut<br>
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut<br>
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario<br>
--- 116,122 ----<br>
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario<br>
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations<br>
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut<br>
! CA +744144-0944945 America/Resolute Eastern Standard Time - Resolute, Nunavut<br>
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut<br>
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut<br>
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario<br>
***************<br>
*** 136,142 ****<br>
CD -1140+02728 Africa/Lubumbashi east Dem. Rep. of Congo<br>
CF +0422+01835 Africa/Bangui<br>
CG -0416+01517 Africa/Brazzaville<br>
! CH +4723+00832 Europe/Zurich<br>
CI +0519-00402 Africa/Abidjan<br>
CK -2114-15946 Pacific/Rarotonga<br>
CL -3327-07040 America/Santiago most locations<br>
--- 136,143 ----<br>
CD -1140+02728 Africa/Lubumbashi east Dem. Rep. of Congo<br>
CF +0422+01835 Africa/Bangui<br>
CG -0416+01517 Africa/Brazzaville<br>
! CH +4723+00832 Europe/Zurich most locations<br>
! CH +4614+00604 Europe/Geneva Geneva only<br>
CI +0519-00402 Africa/Abidjan<br>
CK -2114-15946 Pacific/Rarotonga<br>
CL -3327-07040 America/Santiago most locations<br>
***************<br>
*** 292,298 ****<br>
NI +1209-08617 America/Managua<br>
NL +5222+00454 Europe/Amsterdam<br>
NO +5955+01045 Europe/Oslo<br>
! NP +2743+08519 Asia/Katmandu<br>
NR -0031+16655 Pacific/Nauru<br>
NU -1901-16955 Pacific/Niue<br>
NZ -3652+17446 Pacific/Auckland most locations<br>
--- 293,299 ----<br>
NI +1209-08617 America/Managua<br>
NL +5222+00454 Europe/Amsterdam<br>
NO +5955+01045 Europe/Oslo<br>
! NP +2743+08519 Asia/Kathmandu<br>
NR -0031+16655 Pacific/Nauru<br>
NU -1901-16955 Pacific/Niue<br>
NZ -3652+17446 Pacific/Auckland most locations<br>
<br>
</blockquote></div><br>
</div></div></div><br>