proposed tz changes (zdump.c, backward, and systemv)

Arthur David Olson olsona at lecserver.nci.nih.gov
Mon Nov 21 16:17:58 UTC 2005


Here are proposed changes to three files: to zdump.c (allowing
internationalization of one message and cleaning up some name-shadowing lint);
and backward and systemv (creating distinct binary files for old-style names
rather than linking them to particular geographic areas that might change
rules).  I'll let both these proposals and Paul Eggert's proposals (circulated
on the list this last Friday) to cook over Thanksgiving; barring objections,
I'll propogate them to the ftp server next Monday.

				--ado

------- zdump.c -------
*** /tmp/geta22604	Mon Nov 21 11:04:39 2005
--- /tmp/getb22604	Mon Nov 21 11:04:39 2005
***************
*** 1,4 ****
! static char	elsieid[] = "@(#)zdump.c	7.66";
  
  /*
  ** This code has been made independent of the rest of the time
--- 1,4 ----
! static char	elsieid[] = "@(#)zdump.c	7.68";
  
  /*
  ** This code has been made independent of the rest of the time
***************
*** 147,153 ****
  static int	warned;
  
  static char *	abbr P((struct tm * tmp));
! static void	abbrok P((const char * abbr, const char * zone));
  static long	delta P((struct tm * newp, struct tm * oldp));
  static void	dumptime P((const struct tm * tmp));
  static time_t	hunt P((char * name, time_t lot, time_t	hit));
--- 147,153 ----
  static int	warned;
  
  static char *	abbr P((struct tm * tmp));
! static void	abbrok P((const char * abbrp, const char * zone));
  static long	delta P((struct tm * newp, struct tm * oldp));
  static void	dumptime P((const struct tm * tmp));
  static time_t	hunt P((char * name, time_t lot, time_t	hit));
***************
*** 194,201 ****
  #endif /* !defined TYPECHECK */
  
  static void
! abbrok(abbr, zone)
! const char * const	abbr;
  const char * const	zone;
  {
  	register const char *	cp;
--- 194,201 ----
  #endif /* !defined TYPECHECK */
  
  static void
! abbrok(abbrp, zone)
! const char * const	abbrp;
  const char * const	zone;
  {
  	register const char *	cp;
***************
*** 203,217 ****
  
  	if (warned)
  		return;
! 	cp = abbr;
  	wp = NULL;
  	while (isascii(*cp) && isalpha(*cp))
  		++cp;
! 	if (cp - abbr == 0)
  		wp = _("lacks alphabetic at start");
! 	if (cp - abbr < 3)
  		wp = _("has fewer than 3 alphabetics");
! 	if (cp - abbr > 6)
  		wp = _("has more than 6 alphabetics");
  	if (wp == NULL && (*cp == '+' || *cp == '-')) {
  		++cp;
--- 203,217 ----
  
  	if (warned)
  		return;
! 	cp = abbrp;
  	wp = NULL;
  	while (isascii(*cp) && isalpha(*cp))
  		++cp;
! 	if (cp - abbrp == 0)
  		wp = _("lacks alphabetic at start");
! 	if (cp - abbrp < 3)
  		wp = _("has fewer than 3 alphabetics");
! 	if (cp - abbrp > 6)
  		wp = _("has more than 6 alphabetics");
  	if (wp == NULL && (*cp == '+' || *cp == '-')) {
  		++cp;
***************
*** 225,232 ****
  		return;
  	(void) fflush(stdout);
  	(void) fprintf(stderr,
! 		"%s: warning: zone \"%s\" abbreviation \"%s\" %s\n",
! 		progname, zone, abbr, wp);
  	warned = TRUE;
  }
  
--- 225,232 ----
  		return;
  	(void) fflush(stdout);
  	(void) fprintf(stderr,
! 		_("%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"),
! 		progname, zone, abbrp, wp);
  	warned = TRUE;
  }
  

------- backward -------
*** /tmp/geta22707	Mon Nov 21 11:06:10 2005
--- /tmp/getb22707	Mon Nov 21 11:06:10 2005
***************
*** 1,7 ****
! # @(#)backward	7.29
  
! # This file provides links between current names for time zones
! # and their old names.  Many names changed in late 1993.
  
  Link	Africa/Bamako		Africa/Timbuktu
  Link	America/Argentina/Catamarca	America/Argentina/ComodRivadavia
--- 1,7 ----
! # @(#)backward	7.30
  
! # This file provides links and zones for old time zone names.
! # Many names changed in late 1993.
  
  Link	Africa/Bamako		Africa/Timbuktu
  Link	America/Argentina/Catamarca	America/Argentina/ComodRivadavia
***************
*** 42,48 ****
  Link	America/Noronha		Brazil/DeNoronha
  Link	America/Sao_Paulo	Brazil/East
  Link	America/Manaus		Brazil/West
- Link	America/Chicago		CST6CDT
  Link	America/Halifax		Canada/Atlantic
  Link	America/Winnipeg	Canada/Central
  Link	America/Regina		Canada/East-Saskatchewan
--- 42,47 ----
***************
*** 55,62 ****
  Link	America/Santiago	Chile/Continental
  Link	Pacific/Easter		Chile/EasterIsland
  Link	America/Havana		Cuba
- Link	America/Panama		EST
- Link	America/New_York	EST5EDT
  Link	Africa/Cairo		Egypt
  Link	Europe/Dublin		Eire
  Link	Europe/London		Europe/Belfast
--- 54,59 ----
***************
*** 67,73 ****
  Link	Etc/GMT			GMT-0
  Link	Etc/GMT			GMT0
  Link	Etc/GMT			Greenwich
- Link	Pacific/Honolulu	HST
  Link	Asia/Hong_Kong		Hongkong
  Link	Atlantic/Reykjavik	Iceland
  Link	Asia/Tehran		Iran
--- 64,69 ----
***************
*** 76,83 ****
  Link	Asia/Tokyo		Japan
  Link	Pacific/Kwajalein	Kwajalein
  Link	Africa/Tripoli		Libya
- Link	America/Phoenix		MST
- Link	America/Denver		MST7MDT
  Link	America/Tijuana		Mexico/BajaNorte
  Link	America/Mazatlan	Mexico/BajaSur
  Link	America/Mexico_City	Mexico/General
--- 72,77 ----
***************
*** 85,91 ****
  Link	Pacific/Chatham		NZ-CHAT
  Link	America/Denver		Navajo
  Link	Asia/Shanghai		PRC
- Link	America/Los_Angeles	PST8PDT
  Link	Pacific/Pago_Pago	Pacific/Samoa
  Link	Pacific/Truk		Pacific/Yap
  Link	Europe/Warsaw		Poland
--- 79,84 ----
***************
*** 111,113 ****
--- 104,119 ----
  Link	Etc/UTC			Universal
  Link	Europe/Moscow		W-SU
  Link	Etc/UTC			Zulu
+ Zone	AST4ADT	-4:00	US		A%sT
+ Zone	EST5EDT	-5:00	US		E%sT
+ Zone	CST6CDT	-6:00	US		C%sT
+ Zone	MST7MDT	-7:00	US		M%sT
+ Zone	PST8PDT	-8:00	US		P%sT
+ Zone	YST9YDT	-9:00	US		Y%sT
+ Zone	AST4	-4:00	-		AST
+ Zone	EST5	-5:00	-		EST
+ Zone	CST6	-6:00	-		CST
+ Zone	MST7	-7:00	-		MST
+ Zone	PST8	-8:00	-		PST
+ Zone	YST9	-9:00	-		YST
+ Zone	HST10	-10:00	-		HST

------- systemv -------
*** /tmp/geta22751	Mon Nov 21 11:07:08 2005
--- /tmp/getb22751	Mon Nov 21 11:07:08 2005
***************
*** 1,4 ****
! # @(#)systemv	7.4
  
  # Old rules, should the need arise.
  # No attempt is made to handle Newfoundland, since it cannot be expressed
--- 1,4 ----
! # @(#)systemv	7.5
  
  # Old rules, should the need arise.
  # No attempt is made to handle Newfoundland, since it cannot be expressed
***************
*** 7,13 ****
  # the change in the DST rules in the US in 1987 (which occurred before
  # the old rules were written).
  #
! # If you need the old rules, uncomment ## lines and comment-out Link lines.
  # Compile this *without* leap second correction for true conformance.
  
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
--- 7,14 ----
  # the change in the DST rules in the US in 1987 (which occurred before
  # the old rules were written).
  #
! # If you need the old rules, uncomment ## lines and
! # comment-out lines at the end of the file.
  # Compile this *without* leap second correction for true conformance.
  
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
***************
*** 35,50 ****
  ## Zone	SystemV/YST9	-9:00	-		YST
  ## Zone	SystemV/HST10	-10:00	-		HST
  # For now...
! Link	America/Halifax		SystemV/AST4ADT
! Link	America/New_York	SystemV/EST5EDT
! Link	America/Chicago		SystemV/CST6CDT
! Link	America/Denver		SystemV/MST7MDT
! Link	America/Los_Angeles	SystemV/PST8PDT
! Link	America/Anchorage	SystemV/YST9YDT
! Link	America/Puerto_Rico	SystemV/AST4
! Link	America/Indiana/Indianapolis	SystemV/EST5
! Link	America/Regina		SystemV/CST6
! Link	America/Phoenix		SystemV/MST7
! Link	Pacific/Pitcairn	SystemV/PST8
! Link	Pacific/Gambier		SystemV/YST9
! Link	Pacific/Honolulu	SystemV/HST10
--- 36,51 ----
  ## Zone	SystemV/YST9	-9:00	-		YST
  ## Zone	SystemV/HST10	-10:00	-		HST
  # For now...
! Zone	SystemV/AST4ADT	-4:00	US		A%sT
! Zone	SystemV/EST5EDT	-5:00	US		E%sT
! Zone	SystemV/CST6CDT	-6:00	US		C%sT
! Zone	SystemV/MST7MDT	-7:00	US		M%sT
! Zone	SystemV/PST8PDT	-8:00	US		P%sT
! Zone	SystemV/YST9YDT	-9:00	US		Y%sT
! Zone	SystemV/AST4	-4:00	-		AST
! Zone	SystemV/EST5	-5:00	-		EST
! Zone	SystemV/CST6	-6:00	-		CST
! Zone	SystemV/MST7	-7:00	-		MST
! Zone	SystemV/PST8	-8:00	-		PST
! Zone	SystemV/YST9	-9:00	-		YST
! Zone	SystemV/HST10	-10:00	-		HST



More information about the tz mailing list