summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2014-06-05 14:04:44 +0200
committerRemi Collet <remi@php.net>2014-06-05 14:04:44 +0200
commitf11f7f56013c5ee4e6009997602e9b5a64064909 (patch)
treeedd704febb4e1386625e7bb0415c3ad834966fa3
parentf1ef7018f036de3b0d149ea0bc4575767b9bb413 (diff)
downloadphp-git-f11f7f56013c5ee4e6009997602e9b5a64064909.tar.gz
restore correct behavior of DateTime
-rw-r--r--ext/date/php_date.c4
-rw-r--r--ext/date/tests/bug67118.phpt3
2 files changed, 4 insertions, 3 deletions
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