proposed time zone package changes--Paraguay, core dump avoidance

Olson, Arthur David (NIH/NCI) [E] olsona at dc37a.nci.nih.gov
Thu Mar 4 19:32:35 UTC 2010


I'll make the suggested change for 2010d.

				--ado

-----Original Message-----
From: Seán Coffey [mailto:Sean.Coffey at Sun.COM] 
Sent: Thursday, March 04, 2010 2:18
To: tz at lecserver.nci.nih.gov
Subject: Re: proposed time zone package changes--Paraguay, core dump avoidance

Hi Arthur,

Can I ask why you used the follow logic for the new Asuncion rule :

Rule       Para    2010    max     -       Oct     Sun<=7  0:00    1:00    S

instead of keeping with tradition and using something like :

Rule       Para    2010    max     -       Oct     Sun>=1  0:00    1:00    S

"Sun<=7" is the first instance of such a rule in the Olson files and 
causes an issue
with the JRE when it parses Olson rules . (something that can be 
modified on the java side I guess)

Is it possible to use Sun>=1 for 2010d ?

regards,
Sean.

Arthur David Olson wrote:
> Below find proposed changes to the time zone package:
>
> 	localtime.c	more core dump avoidance work
> 	southamerica	changes to Paraguay DST rules from 2010 forward
>
> If no problems are found, these are to show up on the ftp site on 2010-03-01.
>
> (I'm trying to get a good reference before making Bangladesh changes;
> I'm trying to get starting- and ending-time-of-day information--and trying
> to learn whether or not DST was actually observed in 2009--before making
> Samoa changes.)
>
> 				--ado
>
> ------- localtime.c -------
> *** /tmp/geta19371	Wed Feb 24 08:46:42 2010
> --- /tmp/getb19371	Wed Feb 24 08:46:42 2010
> ***************
> *** 5,11 ****
>   
>   #ifndef lint
>   #ifndef NOID
> ! static char	elsieid[] = "@(#)localtime.c	8.10";
>   #endif /* !defined NOID */
>   #endif /* !defined lint */
>   
> --- 5,11 ----
>   
>   #ifndef lint
>   #ifndef NOID
> ! static char	elsieid[] = "@(#)localtime.c	8.12";
>   #endif /* !defined NOID */
>   #endif /* !defined lint */
>   
> ***************
> *** 389,394 ****
> --- 389,395 ----
>   	nread = read(fid, u.buf, sizeof u.buf);
>   	if (close(fid) < 0 || nread <= 0)
>   		return -1;
> + 	sp->goback = sp->goahead = FALSE;
>   	for (stored = 4; stored <= 8; stored *= 2) {
>   		int		ttisstdcnt;
>   		int		ttisgmtcnt;
> ***************
> *** 555,561 ****
>   					sp->ttis[sp->typecnt++] = ts.ttis[1];
>   			}
>   	}
> - 	sp->goback = sp->goahead = FALSE;
>   	if (sp->timecnt > 1) {
>   		for (i = 1; i < sp->timecnt; ++i)
>   			if (typesequiv(sp, sp->types[i], sp->types[0]) &&
> --- 556,561 ----
> ***************
> *** 1163,1169 ****
>   
>   #ifdef ALL_STATE
>   	if (lclptr == NULL) {
> ! 		lclptr = (struct state *) malloc(sizeof *lclptr);
>   		if (lclptr == NULL) {
>   			settzname();	/* all we can do */
>   			return;
> --- 1163,1169 ----
>   
>   #ifdef ALL_STATE
>   	if (lclptr == NULL) {
> ! 		lclptr = (struct state *) calloc(1, sizeof *lclptr);
>   		if (lclptr == NULL) {
>   			settzname();	/* all we can do */
>   			return;
> ***************
> *** 1194,1200 ****
>   
>   #ifdef ALL_STATE
>   	if (lclptr == NULL) {
> ! 		lclptr = (struct state *) malloc(sizeof *lclptr);
>   		if (lclptr == NULL) {
>   			settzname();	/* all we can do */
>   			return;
> --- 1194,1200 ----
>   
>   #ifdef ALL_STATE
>   	if (lclptr == NULL) {
> ! 		lclptr = (struct state *) calloc(1, sizeof *lclptr);
>   		if (lclptr == NULL) {
>   			settzname();	/* all we can do */
>   			return;
> ***************
> *** 1355,1361 ****
>   	if (!gmt_is_set) {
>   		gmt_is_set = TRUE;
>   #ifdef ALL_STATE
> ! 		gmtptr = (struct state *) malloc(sizeof *gmtptr);
>   		if (gmtptr != NULL)
>   #endif /* defined ALL_STATE */
>   			gmtload(gmtptr);
> --- 1355,1361 ----
>   	if (!gmt_is_set) {
>   		gmt_is_set = TRUE;
>   #ifdef ALL_STATE
> ! 		gmtptr = (struct state *) calloc(1, sizeof *gmtptr);
>   		if (gmtptr != NULL)
>   #endif /* defined ALL_STATE */
>   			gmtload(gmtptr);
>
> ------- southamerica -------
> *** /tmp/geta19392	Wed Feb 24 08:46:57 2010
> --- /tmp/getb19392	Wed Feb 24 08:46:57 2010
> ***************
> *** 1,5 ****
>   # <pre>
> ! # @(#)southamerica	8.40
>   # This file is in the public domain, so clarified as of
>   # 2009-05-17 by Arthur David Olson.
>   
> --- 1,5 ----
>   # <pre>
> ! # @(#)southamerica	8.41
>   # This file is in the public domain, so clarified as of
>   # 2009-05-17 by Arthur David Olson.
>   
> ***************
> *** 1364,1371 ****
>   # Decree 1,867 (2004-03-05)
>   # From Carlos Raul Perasso via Jesper Norgaard Welen (2006-10-13)
>   # <http://www.presidencia.gov.py/decretos/D1867.pdf>
> ! Rule	Para	2004	max	-	Oct	Sun>=15	0:00	1:00	S
> ! Rule	Para	2005	max	-	Mar	Sun>=8	0:00	0	-
>   
>   # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
>   Zone America/Asuncion	-3:50:40 -	LMT	1890
> --- 1364,1387 ----
>   # Decree 1,867 (2004-03-05)
>   # From Carlos Raul Perasso via Jesper Norgaard Welen (2006-10-13)
>   # <http://www.presidencia.gov.py/decretos/D1867.pdf>
> ! Rule	Para	2004	2009	-	Oct	Sun>=15	0:00	1:00	S
> ! Rule	Para	2005	2009	-	Mar	Sun>=8	0:00	0	-
> ! # From Carlos Raul Perasso (2010-02-18):
> ! # By decree number 3958 issued yesterday (
> ! # <a href="http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf">
> ! # http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf
> ! # </a>
> ! # )
> ! # Paraguay changes its DST schedule, postponing the March rule to April and
> ! # modifying the October date. The decree reads:
> ! # ...
> ! # Art. 1. It is hereby established that from the second Sunday of the month of
> ! # April of this year (2010), the official time is to be set back 60 minutes,
> ! # and that on the first Sunday of the month of October, it is to be set
> ! # forward 60 minutes, in all the territory of the Paraguayan Republic.
> ! # ...
> ! Rule	Para	2010	max	-	Oct	Sun<=7	0:00	1:00	S
> ! Rule	Para	2010	max	-	Apr	Sun>=8	0:00	0	-
>   
>   # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
>   Zone America/Asuncion	-3:50:40 -	LMT	1890
>
> ------- southamerica -------
> *** /tmp/geta19425	Wed Feb 24 08:47:47 2010
> --- /tmp/getb19425	Wed Feb 24 08:47:47 2010
> ***************
> *** 1,5 ****
>   # <pre>
> ! # @(#)southamerica	8.40
>   # This file is in the public domain, so clarified as of
>   # 2009-05-17 by Arthur David Olson.
>   
> --- 1,5 ----
>   # <pre>
> ! # @(#)southamerica	8.41
>   # This file is in the public domain, so clarified as of
>   # 2009-05-17 by Arthur David Olson.
>   
> ***************
> *** 1364,1371 ****
>   # Decree 1,867 (2004-03-05)
>   # From Carlos Raul Perasso via Jesper Norgaard Welen (2006-10-13)
>   # <http://www.presidencia.gov.py/decretos/D1867.pdf>
> ! Rule	Para	2004	max	-	Oct	Sun>=15	0:00	1:00	S
> ! Rule	Para	2005	max	-	Mar	Sun>=8	0:00	0	-
>   
>   # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
>   Zone America/Asuncion	-3:50:40 -	LMT	1890
> --- 1364,1387 ----
>   # Decree 1,867 (2004-03-05)
>   # From Carlos Raul Perasso via Jesper Norgaard Welen (2006-10-13)
>   # <http://www.presidencia.gov.py/decretos/D1867.pdf>
> ! Rule	Para	2004	2009	-	Oct	Sun>=15	0:00	1:00	S
> ! Rule	Para	2005	2009	-	Mar	Sun>=8	0:00	0	-
> ! # From Carlos Raul Perasso (2010-02-18):
> ! # By decree number 3958 issued yesterday (
> ! # <a href="http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf">
> ! # http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf
> ! # </a>
> ! # )
> ! # Paraguay changes its DST schedule, postponing the March rule to April and
> ! # modifying the October date. The decree reads:
> ! # ...
> ! # Art. 1. It is hereby established that from the second Sunday of the month of
> ! # April of this year (2010), the official time is to be set back 60 minutes,
> ! # and that on the first Sunday of the month of October, it is to be set
> ! # forward 60 minutes, in all the territory of the Paraguayan Republic.
> ! # ...
> ! Rule	Para	2010	max	-	Oct	Sun<=7	0:00	1:00	S
> ! Rule	Para	2010	max	-	Apr	Sun>=8	0:00	0	-
>   
>   # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
>   Zone America/Asuncion	-3:50:40 -	LMT	1890
>
>   



More information about the tz mailing list