From b533e9825295a0855d78912dae9d8f1180df0900 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Sun, 19 Apr 2009 19:08:49 +0000 Subject: [PATCH] fix Win32 ngx_gettimezone() --- src/os/win32/ngx_time.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 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) { - return -tz.Bias; - } + n = GetTimeZoneInformation(&tz); - return 0; + switch (n) { + + case TIME_ZONE_ID_UNKNOWN: + return -tz.Bias; + + 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; + } }