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@TradeStation.com]
Sent: Monday, January 26, 2009 8:38
To: Olson, Arthur David (NIH/NCI) [E]; tz(a)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@dc37a.nci.nih.gov]
Sent: Monday, January 26, 2009 3:34 PM
To: tz(a)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];