aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-04-19 19:08:49 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-04-19 19:08:49 +0000
commitb533e9825295a0855d78912dae9d8f1180df0900 (patch)
tree8adde72cde879f9b3a0599547acc5197143ac71a /src
parent694bdea2a978f810de3dfb3d7a6e110b3aeeaddf (diff)
downloadnginx-b533e9825295a0855d78912dae9d8f1180df0900.tar.gz
nginx-b533e9825295a0855d78912dae9d8f1180df0900.zip
fix Win32 ngx_gettimezone()
Diffstat (limited to 'src')
-rw-r--r--src/os/win32/ngx_time.c18
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;
+ }
}