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

Reply via email to