From: Remi Collet Date: Thu, 5 Jun 2014 12:04:44 +0000 (+0200) Subject: restore correct behavior of DateTime X-Git-Tag: PRE_PHPNG_MERGE~240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f11f7f56013c5ee4e6009997602e9b5a64064909;p=php restore correct behavior of DateTime --- diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 1809d6653b..700929154c 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2731,7 +2731,9 @@ PHP_METHOD(DateTime, __construct) zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC); if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone)) { - php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 1 TSRMLS_CC); + if (!php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 1 TSRMLS_CC)) { + ZVAL_NULL(getThis()); + } } zend_restore_error_handling(&error_handling TSRMLS_CC); } diff --git a/ext/date/tests/bug67118.phpt b/ext/date/tests/bug67118.phpt index 973b4eb8d5..2aa8c1d828 100644 --- a/ext/date/tests/bug67118.phpt +++ b/ext/date/tests/bug67118.phpt @@ -23,5 +23,4 @@ class mydt extends datetime new mydt("Funktionsansvarig rådgivning och juridik", "UTC"); ?> --EXPECTF-- -Warning: DateTime::format(): The DateTime object has not been correctly initialized by its constructor in %sbug67118.php on line %d -Bad date +Fatal error: Call to a member function format() on a non-object in %sbug67118.php on line %d