derick Thu Jan 17 20:58:27 2008 UTC Added files: /php-src/ext/date/tests bug41599.phpt
Modified files: /php-src/ext/date/lib tm2unixtime.c Log: - Fixed bug #41599 (setTime() fails after modify() is used). http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/tm2unixtime.c?r1=1.19&r2=1.20&diff_format=u Index: php-src/ext/date/lib/tm2unixtime.c diff -u php-src/ext/date/lib/tm2unixtime.c:1.19 php-src/ext/date/lib/tm2unixtime.c:1.20 --- php-src/ext/date/lib/tm2unixtime.c:1.19 Mon Dec 31 07:12:08 2007 +++ php-src/ext/date/lib/tm2unixtime.c Thu Jan 17 20:58:26 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tm2unixtime.c,v 1.19 2007/12/31 07:12:08 sebastian Exp $ */ +/* $Id: tm2unixtime.c,v 1.20 2008/01/17 20:58:26 derick Exp $ */ #include "timelib.h" @@ -98,6 +98,7 @@ } else { time->d -= (7 - (abs(time->relative.weekday) - current_dow)); } + time->have_weekday_relative = 0; } static void do_normalize(timelib_time* time) @@ -130,6 +131,7 @@ do_normalize(time); memset(&(time->relative), 0, sizeof(time->relative)); + time->have_relative = 0; } static void do_adjust_special_weekday(timelib_time* time) http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/bug41599.phpt?view=markup&rev=1.1 Index: php-src/ext/date/tests/bug41599.phpt +++ php-src/ext/date/tests/bug41599.phpt --TEST-- Bug #41599 (setTime() fails after modify() is used) --FILE-- <?php date_default_timezone_set('Europe/London'); $start = new DateTime('2008-01-17 last Monday'); echo $start->format('Y-m-d H:i:s'),PHP_EOL; //good $start->modify('Tuesday'); echo $start->format('Y-m-d H:i:s'),PHP_EOL; //good $start->setTime(4, 0, 0); echo $start->format('Y-m-d H:i:s'),PHP_EOL; //jumped to next Sunday $start->setTime(8, 0, 0); echo $start->format('Y-m-d H:i:s'),PHP_EOL; //jumped to next Sunday again ?> --EXPECT-- 2008-01-14 00:00:00 2008-01-15 00:00:00 2008-01-15 04:00:00 2008-01-15 08:00:00 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php