summaryrefslogtreecommitdiff
path: root/src/time
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-08-27 18:17:20 -0500
committerRich Felker <dalias@aerifal.cx>2018-08-27 19:55:56 -0400
commit92c52644e04ac754b1b282a9d33d033e04e1399e (patch)
tree34d91036da7ad8fb03ac87f6d61c81a0535f45a8 /src/time
parentc06c1eb6610b478a06df8116aefc975f376760f8 (diff)
downloadmusl-92c52644e04ac754b1b282a9d33d033e04e1399e.tar.gz
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.
Diffstat (limited to 'src/time')
-rw-r--r--src/time/__tz.c2
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);