libidav/utils.c

changeset 793
3ed93d188375
parent 789
378b5ab86f77
child 794
29d544c3c2b8
--- a/libidav/utils.c	Sun Sep 17 13:18:39 2023 +0200
+++ b/libidav/utils.c	Sun Sep 17 13:40:48 2023 +0200
@@ -138,6 +138,7 @@
     tparts.tm_sec = val % 100;
     tparts.tm_min = (val % 10000) / 100;
     tparts.tm_hour = val / 10000;
+    tparts.tm_isdst = -1;
 
 
     // parse time zone (if any)
@@ -149,7 +150,7 @@
 #if defined(__FreeBSD__)
         return timegm(&tparts);
 #elif defined(_WIN32)
-        return mktime(&tparts);
+        return _mkgmtime(&tparts);
 #else
         return mktime(&tparts) - timezone;
 #endif
@@ -166,7 +167,7 @@
 #if defined(__FreeBSD__)
             return timegm(&tparts) + (time_t) (60 * val * sign);
 #elif defined(_WIN32)
-            return mktime(&tparts) + (time_t)(60 * val * sign);
+            return _mkgmtime(&tparts) + (time_t)(60 * val * sign);
 #else
             return mktime(&tparts) - timezone + (time_t) (60 * val * sign);            
 #endif

mercurial