diff options
| author | rsc <devnull@localhost> | 2003-11-24 00:43:41 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-11-24 00:43:41 +0000 |
| commit | d2c4ee9e488f6c94865cc2f4c874d025bc2ae0d2 (patch) | |
| tree | 2a0b4a292687bf21d9966692516dd439181b0ec1 /src/lib9/date.c | |
| parent | 478ee9636fcfe3509d0a901d1250524a5c41d3a8 (diff) | |
| download | plan9port-d2c4ee9e488f6c94865cc2f4c874d025bc2ae0d2.tar.gz plan9port-d2c4ee9e488f6c94865cc2f4c874d025bc2ae0d2.zip | |
Tweaks to build properly on Linux.
Diffstat (limited to 'src/lib9/date.c')
| -rw-r--r-- | src/lib9/date.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/lib9/date.c b/src/lib9/date.c index 72860aa7..22ec6721 100644 --- a/src/lib9/date.c +++ b/src/lib9/date.c @@ -1,3 +1,5 @@ +#include <stdlib.h> /* setenv etc. */ + #include <u.h> #include <libc.h> @@ -72,11 +74,22 @@ p9localtime(long t) return &bigtm; } -#if !defined(_HAVETIMEGM) && defined(_HAVETIMEZONEINT) -static long +#if !defined(_HAVETIMEGM) +static time_t timegm(struct tm *tm) { - return mktime(tm)-timezone; + time_t ret; + char *tz; + + tz = getenv("TZ"); + setenv("TZ", "", 1); + tzset(); + ret = mktime(tm); + if(tz) + setenv("TZ", tz, 1); + else + unsetenv("TZ"); + return ret; } #endif |
