time: fix incorrect DST offset when using POSIX timezones without DST
authorA. Wilcox <AWilcox@Wilcox-Tech.com>
Mon, 27 Aug 2018 23:17:20 +0000 (18:17 -0500)
committerRich Felker <dalias@aerifal.cx>
Mon, 27 Aug 2018 23:55:56 +0000 (19:55 -0400)
commit92c52644e04ac754b1b282a9d33d033e04e1399e
tree34d91036da7ad8fb03ac87f6d61c81a0535f45a8
parentc06c1eb6610b478a06df8116aefc975f376760f8
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.
src/time/__tz.c