cvs: php-src /ext/date/lib tm2unixtime.c /ext/date/tests bug41599.phpt
| From: | Derick Rethans | Date: | Thu, 17 Jan 2008 20:58:27 +0000 |
| Subject: | cvs: php-src /ext/date/lib tm2unixtime.c /ext/date/tests bug41599.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-47890@lists.php.net to get a copy of this message | ||
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