derick          Thu Jan 17 20:59:10 2008 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/date/tests     bug41599.phpt 

  Modified files:              
    /php-src    NEWS 
    /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/NEWS?r1=1.2027.2.547.2.965.2.76&r2=1.2027.2.547.2.965.2.77&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.76 
php-src/NEWS:1.2027.2.547.2.965.2.77
--- php-src/NEWS:1.2027.2.547.2.965.2.76        Thu Jan 17 20:44:53 2008
+++ php-src/NEWS        Thu Jan 17 20:59:10 2008
@@ -106,6 +106,7 @@
   DateTimeZone). (Derick)
 - Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
   characters). (Jani)
+- Fixed bug #41599 (setTime() fails after modify() is used). (Derick)
 - Fixed bug #41522 (PDO firebird driver returns null if it fails to connect). 
   (Lars W)
 - Fixed bug #39822 (new PDO() doesn't work with firebird). (Lars W)
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/tm2unixtime.c?r1=1.13.2.3.2.2.2.1&r2=1.13.2.3.2.2.2.2&diff_format=u
Index: php-src/ext/date/lib/tm2unixtime.c
diff -u php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.1 
php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.2
--- php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.1 Mon Dec 31 07:17:07 2007
+++ php-src/ext/date/lib/tm2unixtime.c  Thu Jan 17 20:59:10 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: tm2unixtime.c,v 1.13.2.3.2.2.2.1 2007/12/31 07:17:07 sebastian Exp $ */
+/* $Id: tm2unixtime.c,v 1.13.2.3.2.2.2.2 2008/01/17 20:59:10 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