diff -r bd708aa2e99f -r 8bc1fcad2a8f src/base/time.cc --- a/src/base/time.cc Tue Oct 14 09:00:51 2014 +0100 +++ b/src/base/time.cc Tue Oct 14 09:00:53 2014 +0100 @@ -150,18 +150,7 @@ time_t mkutctime(struct tm *time) { - time_t ret; - char *tz; - - tz = getenv("TZ"); - setenv("TZ", "", 1); - tzset(); - ret = mktime(time); - if (tz) - setenv("TZ", tz, 1); - else - unsetenv("TZ"); - tzset(); - return ret; + time_t local = mktime(time); + return mktime(gmtime(&local)); } diff -r bd708aa2e99f -r 8bc1fcad2a8f src/dev/sparc/dtod.cc --- a/src/dev/sparc/dtod.cc Tue Oct 14 09:00:51 2014 +0100 +++ b/src/dev/sparc/dtod.cc Tue Oct 14 09:00:53 2014 +0100 @@ -53,17 +53,8 @@ : BasicPioDevice(p, 0x08) { struct tm tm = p->time; - char *tz; - - tz = getenv("TZ"); - setenv("TZ", "", 1); - tzset(); - todTime = mktime(&tm); - if (tz) - setenv("TZ", tz, 1); - else - unsetenv("TZ"); - tzset(); + time_t local = mktime(&tm); + todTime = mktime(gmtime(&local)); DPRINTFN("Real-time clock set to %s\n", asctime(&tm)); DPRINTFN("Real-time clock set to %d\n", todTime);