FW: Bug in tz code

Olson, Arthur David (NIH/NCI) [E] olsona at dc37a.nci.nih.gov
Tue Jan 27 20:26:07 UTC 2009


I'm forwarding this message from John Dlugosz, who is not on the time
zone mailing list.
Those of you who are on the list, please direct replies appropriately.

				--ado

-----Original Message-----
From: John Dlugosz [mailto:JDlugosz at TradeStation.com] 
Sent: Monday, January 26, 2009 8:38
To: Olson, Arthur David (NIH/NCI) [E]; tz at lecserver.nci.nih.gov
Subject: RE: Bug in tz code

As expected, your change affects the following zones, for dates after
the spring of 2475 for:

Africa/Cairo
America/Godthab
Antarctica/Palmer

A quick check indicates the expected fix, following DST rules into the
future.

And I'm also getting different output for only times between
2009-12-30T20:00:00 and 2009-12-31T20:00:00 (local time) for
America/Eirunepe, which is strange.

--John


-----Original Message-----
From: Olson, Arthur David (NIH/NCI) [E]
[mailto:olsona at dc37a.nci.nih.gov] 
Sent: Monday, January 26, 2009 3:34 PM
To: tz at elsie.nci.nih.gov
Cc: John Dlugosz
Subject: RE: Bug in tz code

The America/Godthab problem is a fencepost error; the proposed change
below fixes it.

				--ado

------- zic.c -------
*** /tmp/geta5564	Mon Jan 26 16:26:50 2009
--- /tmp/getb5564	Mon Jan 26 16:26:50 2009
***************
*** 3,9 ****
  ** 2006-07-17 by Arthur David Olson.
  */
  
! static char	elsieid[] = "@(#)zic.c	8.18";
  
  #include "private.h"
  #include "locale.h"
--- 3,9 ----
  ** 2006-07-17 by Arthur David Olson.
  */
  
! static char	elsieid[] = "@(#)zic.c	8.19";
  
  #include "private.h"
  #include "locale.h"
***************
*** 1995,2001 ****
  	min_year = max_year = EPOCH_YEAR;
  	if (leapseen) {
  		updateminmax(leapminyear);
! 		updateminmax(leapmaxyear);
  	}
  	for (i = 0; i < zonecount; ++i) {
  		zp = &zpfirst[i];
--- 1995,2001 ----
  	min_year = max_year = EPOCH_YEAR;
  	if (leapseen) {
  		updateminmax(leapminyear);
! 		updateminmax(leapmaxyear + (leapmaxyear < INT_MAX));
  	}
  	for (i = 0; i < zonecount; ++i) {
  		zp = &zpfirst[i];







More information about the tz mailing list