If time to switch to DST is later in the year switch back in the next

year.
This commit is contained in:
Ulrich Drepper 1998-10-26 14:07:43 +00:00
parent 079d719cfc
commit 16d2c6a949

View File

@ -548,6 +548,13 @@ tz_compute (timer, tm)
if (! compute_change (&tz_rules[0], 1900 + tm->tm_year) ||
! compute_change (&tz_rules[1], 1900 + tm->tm_year))
return 0;
/* We have to distinguish between northern and southern hemisphere.
For the later the daylight saving time ends in the next year.
It is easier to detect this after first computing the time for the
wrong year since now we simply can compare the times to switch. */
if (tz_rules[0].change > tz_rules[1].change
&& ! compute_change (&tz_rules[1], 1900 + tm->tm_year + 1))
return 0;
__daylight = tz_rules[0].offset != tz_rules[1].offset;
__timezone = -tz_rules[0].offset;