]> granicus.if.org Git - php/commitdiff
Fix bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from...
authorStanislav Malyshev <stas@php.net>
Sun, 30 Jan 2011 10:18:12 +0000 (10:18 +0000)
committerStanislav Malyshev <stas@php.net>
Sun, 30 Jan 2011 10:18:12 +0000 (10:18 +0000)
NEWS
ext/date/php_date.c
ext/date/tests/bug52290.phpt

diff --git a/NEWS b/NEWS
index b794b267a89324faf0d9657415c7783a51d69e05..7a52ee4e7522cd7b3d9eaa52e6ae4ca84794bd99 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -41,6 +41,8 @@
   . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas)
   . Fixed bug #52738 (Can't use new properties in class extended from 
     DateInterval). (Stas)
+  . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime
+    created from timestamp). (Stas)
   . Fixed bug #52063 (DateTime constructor's second argument doesn't have a 
     null default value). (Gustavo, Stas)
 
index 7fde443a71270b515b470d605479be320bbedde0..73a61c7e94302fe2e5dc8284ca017c8da34f816e 100644 (file)
@@ -3090,6 +3090,7 @@ PHP_FUNCTION(date_isodate_set)
        dateobj->time->y = y;
        dateobj->time->m = 1;
        dateobj->time->d = 1;
+       memset(&dateobj->time->relative, 0, sizeof(dateobj->time->relative));
        dateobj->time->relative.d = timelib_daynr_from_weeknr(y, w, d);
        dateobj->time->have_relative = 1;
        
index c1ee9d47af5370a15242cb76ce08be2f34271853..78ede1387ccb23b85bb9118f6032fe4f4ed21abc 100644 (file)
@@ -23,5 +23,5 @@ var_dump($dt->format('o-\WW-N | Y-m-d | H:i:s | U'));
 --EXPECTF--
 string(47) "2005-W52-7 | 2006-01-01 | 00:00:00 | 1136073600"
 string(47) "2005-W52-1 | 2005-12-26 | 00:00:00 | 1135555200"
-string(47) "2007-W40-5 | 2007-10-10 | 00:00:00 | 1191974400"
-string(47) "2007-W40-5 | 2007-10-10 | 20:30:40 | 1192048240"
\ No newline at end of file
+string(47) "2007-W41-3 | 2007-10-10 | 00:00:00 | 1191974400"
+string(47) "2007-W41-3 | 2007-10-10 | 20:30:40 | 1192048240"
\ No newline at end of file