diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-04-19 19:08:49 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-04-19 19:08:49 +0000 |
commit | b533e9825295a0855d78912dae9d8f1180df0900 (patch) | |
tree | 8adde72cde879f9b3a0599547acc5197143ac71a /src | |
parent | 694bdea2a978f810de3dfb3d7a6e110b3aeeaddf (diff) | |
download | nginx-b533e9825295a0855d78912dae9d8f1180df0900.tar.gz nginx-b533e9825295a0855d78912dae9d8f1180df0900.zip |
fix Win32 ngx_gettimezone()
Diffstat (limited to 'src')
-rw-r--r-- | src/os/win32/ngx_time.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c index 39ce63336..798c14383 100644 --- a/src/os/win32/ngx_time.c +++ b/src/os/win32/ngx_time.c @@ -60,11 +60,23 @@ ngx_libc_gmtime(time_t s, struct tm *tm) ngx_int_t ngx_gettimezone(void) { + u_long n; TIME_ZONE_INFORMATION tz; - if (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_INVALID) { + n = GetTimeZoneInformation(&tz); + + switch (n) { + + case TIME_ZONE_ID_UNKNOWN: return -tz.Bias; - } - return 0; + case TIME_ZONE_ID_STANDARD: + return -(tz.Bias + tz.StandardBias); + + case TIME_ZONE_ID_DAYLIGHT: + return -(tz.Bias + tz.DaylightBias); + + default: /* TIME_ZONE_ID_INVALID */ + return 0; + } } |