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.
This commit is contained in:
+1
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user