diff options
| author | Tjerk Meesters <datibbaw@php.net> | 2014-08-13 20:57:10 +0800 |
|---|---|---|
| committer | Tjerk Meesters <datibbaw@php.net> | 2014-08-13 20:57:10 +0800 |
| commit | 7fbc99e39021b937458752f18456848587966b84 (patch) | |
| tree | ce2a11603a8a46003ee05680f28283b32ca521cc | |
| parent | e4905b38b78a4fa9414fd92a60c8273ceb010bcd (diff) | |
| download | php-git-7fbc99e39021b937458752f18456848587966b84.tar.gz | |
Some changes were lost in the merge commit of #66091
| -rw-r--r-- | ext/date/php_date.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 1f7ee758c1..39b25d9cb5 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2667,14 +2667,19 @@ PHP_FUNCTION(date_create_immutable) zval *timezone_object = NULL; char *time_str = NULL; int time_str_len = 0; + zval datetime_object; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { RETURN_FALSE; } - php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC); - if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) { + php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC); + if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) { + zval_dtor(&datetime_object); RETURN_FALSE; + } else { + zval *datetime_object_ptr = &datetime_object; + RETVAL_ZVAL(datetime_object_ptr, 0, 0); } } /* }}} */ @@ -2712,14 +2717,19 @@ PHP_FUNCTION(date_create_immutable_from_format) zval *timezone_object = NULL; char *time_str = NULL, *format_str = NULL; int time_str_len = 0, format_str_len = 0; + zval datetime_object; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { RETURN_FALSE; } - php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC); - if (!php_date_initialize(zend_object_store_get_object(return_value TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) { + php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC); + if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) { + zval_dtor(&datetime_object); RETURN_FALSE; + } else { + zval *datetime_object_ptr = &datetime_object; + RETVAL_ZVAL(datetime_object_ptr, 0, 0); } } /* }}} */ |
