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.
dst_off = __timezone - 3600;
} else {
__daylight = 0;
- dst_off = 0;
+ dst_off = __timezone;
}
if (*s == ',') s++, getrule(&s, r0);