Browse Source

time: fix incorrect DST offset when using POSIX timezones without DST

This manifests itself in mktime if tm_isdst = 1 and the current TZ= is
a POSIX timezone specification. mktime would see that tm_isdst was set
to 0 by __secs_to_zone, and subtract 'oppoff' (dst_off) - gmtoff from
the resultant time. This meant that mktime returned a time that was
exactly double the GMT offset of the desired timezone when tm_isdst
was = 1.
master
A. Wilcox 8 years ago
committed by Rich Felker
parent
commit
92c52644e0
  1. 2
      src/time/__tz.c

2
src/time/__tz.c

@ -230,7 +230,7 @@ static void do_tzset()
dst_off = __timezone - 3600;
} else {
__daylight = 0;
dst_off = 0;
dst_off = __timezone;
}
if (*s == ',') s++, getrule(&s, r0);

Loading…
Cancel
Save