]> granicus.if.org Git - php/commitdiff
The 2am offset was a bad choice as this hour doesn't necessarily exist
authorRasmus Lerdorf <rasmus@php.net>
Fri, 26 Mar 2004 19:29:31 +0000 (19:29 +0000)
committerRasmus Lerdorf <rasmus@php.net>
Fri, 26 Mar 2004 19:29:31 +0000 (19:29 +0000)
on a DST switch.  So use 4am instead.  Fixes bug #27719

ext/standard/datetime.c

index 8d02fc5318f2fde77f0a20014e08a115bfa98784..43017881b04b8aefb57435f4f84e367111b9c02b 100644 (file)
@@ -194,12 +194,12 @@ void php_mktime(INTERNAL_FUNCTION_PARAMETERS, int gm)
                val = (*arguments[0])->value.lval; 
                /* 
                   We don't use 1 here to work around problems in some mktime implementations
-                  when it comes to daylight savings time.  Setting it to 2 and working back from
+                  when it comes to daylight savings time.  Setting it to 4 and working back from
                   there with the chgsecs offset makes us immune to these problems.  
                   See http://bugs.php.net/27533 for more info.
                */
-               if (val < 2) { 
-                       chgsecs += (2-val) * 60*60; val = 2
+               if (val < 4) { 
+                       chgsecs += (4-val) * 60*60; val = 4
                } 
                ta->tm_hour = val; 
                /* fall-through */