ID: 47351 Updated by: [email protected] Reported By: tobias dot john at fondsnet dot de -Status: Assigned +Status: Closed Bug Type: Date/time related Operating System: * PHP Version: 5.*, 6CVS (2009-05-11) Assigned To: derick New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2009-06-30 15:20:48] bloudon at townnews dot com Updated patch for 5.3.0 final: --- ext/date/php_date.orig.c 2009-06-30 09:46:19.000000000 -0500 +++ ext/date/php_date.c 2009-06-30 10:14:39.000000000 -0500 @@ -2414,7 +2414,7 @@ } timelib_unixtime2local(now, (timelib_sll) time(NULL)); - timelib_fill_holes(dateobj->time, now, 0); + timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE); timelib_update_ts(dateobj->time, tzi); dateobj->time->have_relative = 0; ------------------------------------------------------------------------ [2009-06-30 12:30:09] tobias dot john at fondsnet dot de Bug still not fixed in PHP 5.3.0 release. ------------------------------------------------------------------------ [2009-06-22 12:07:53] tobias dot john at fondsnet dot de Sorry the previous post was the RC3 patch. Here is RC4. --- php-5.3.0RC4.orig/ext/date/php_date.c 2009-06-17 19:56:17.000000000 +0200 +++ php-5.3.0RC4/ext/date/php_date.c 2009-06-22 13:57:49.000000000 +0200 @@ -2405,7 +2405,7 @@ } timelib_unixtime2local(now, (timelib_sll) time(NULL)); - timelib_fill_holes(dateobj->time, now, 0); + timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE); timelib_update_ts(dateobj->time, tzi); dateobj->time->have_relative = 0; ------------------------------------------------------------------------ [2009-06-22 12:05:10] tobias dot john at fondsnet dot de Here is the patch for RC4. It would be nice if this makes it in before final, because this bug basically makes \DateTime more or less unuseable in longer running processes and processes that create and destroy many DateTime objects (like imports). --- php-5.3.0RC3.orig/ext/date/php_date.c 2009-05-31 23:28:38.000000000 +0200 +++ php-5.3.0RC3/ext/date/php_date.c 2009-06-15 09:28:03.000000000 +0200 @@ -2401,7 +2401,7 @@ } timelib_unixtime2local(now, (timelib_sll) time(NULL)); - timelib_fill_holes(dateobj->time, now, 0); + timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE); timelib_update_ts(dateobj->time, tzi); dateobj->time->have_relative = 0; ------------------------------------------------------------------------ [2009-05-07 10:06:27] tobias dot john at fondsnet dot de I use this patch for 5.3.0RC1. --- php-5.3.0RC1/ext/date/php_date.c 2009-01-27 14:48:10.000000000 +0100 +++ php-5.3.0RC1patched/ext/date/php_date.c 2009-05-07 10:54:48.000000000 +0200 @@ -2362,7 +2362,7 @@ } timelib_unixtime2local(now, (timelib_sll) time(NULL)); - timelib_fill_holes(dateobj->time, now, 0); + timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE); timelib_update_ts(dateobj->time, tzi); dateobj->time->have_relative = 0; ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/47351 -- Edit this bug report at http://bugs.php.net/?id=47351&edit=1
