diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-08-27 18:17:20 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2018-08-27 19:55:56 -0400 |
commit | 92c52644e04ac754b1b282a9d33d033e04e1399e (patch) | |
tree | 34d91036da7ad8fb03ac87f6d61c81a0535f45a8 | |
parent | c06c1eb6610b478a06df8116aefc975f376760f8 (diff) | |
download | musl-92c52644e04ac754b1b282a9d33d033e04e1399e.tar.gz musl-92c52644e04ac754b1b282a9d33d033e04e1399e.tar.bz2 musl-92c52644e04ac754b1b282a9d33d033e04e1399e.tar.xz musl-92c52644e04ac754b1b282a9d33d033e04e1399e.zip |
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.
-rw-r--r-- | src/time/__tz.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/time/__tz.c b/src/time/__tz.c index 1dbb0b8f..814edcdf 100644 --- a/src/time/__tz.c +++ b/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); |