diff --git a/src/editfns.c b/src/editfns.c index dbcb316..fca95d5 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -1423,10 +1423,28 @@ mktime_z (timezone_t tz, struct tm *tm) oldtz = strcpy (oldtzcopy, oldtz); } block_input (); + char const *oldTZ = getenv ("TZ"); + if (oldTZ) + oldTZ = xstrdup (oldTZ); set_time_zone_rule (tz); + char const *TZ = getenv ("TZ"); + fprintf (stderr, + ("oldtz=%s tz=%s oldTZ=%s TZ=%s " + "%.4d-%.2d-%.2d %.2d:%.2d:%.2d %d -> "), + oldtz ? oldtz : "(null)", + tz ? tz : "(null)", + oldTZ ? oldTZ : "(null)", + TZ ? TZ : "(null)", + tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec, + tm->tm_isdst); time_t t = mktime (tm); set_time_zone_rule (oldtz); unblock_input (); + fprintf (stderr, "%.4d-%.2d-%.2d %.2d:%.2d:%.2d %d = %ld", + tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec, + tm->tm_isdst, (long) t); SAFE_FREE (); return t; }