From: Dmitry Stogov Date: Tue, 27 May 2014 21:29:37 +0000 (+0400) Subject: Avoid in-place conversion X-Git-Tag: POST_PHPNG_MERGE~269 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2dce4cb06c8ed2da0de528b20b889815f5a3dc22;p=php Avoid in-place conversion --- diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 493033b60b..37266d17b5 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -4107,8 +4107,7 @@ static int php_date_interval_initialize_from_hash(zval **return_value, php_inter do { \ zval *z_arg = zend_hash_str_find(myht, element, sizeof(element) - 1); \ if (z_arg) { \ - convert_to_long(z_arg); \ - (*intobj)->diff->member = (itype)Z_LVAL_P(z_arg); \ + (*intobj)->diff->member = (itype)zval_get_long(z_arg); \ } else { \ (*intobj)->diff->member = (itype)def; \ } \ @@ -4118,8 +4117,9 @@ static int php_date_interval_initialize_from_hash(zval **return_value, php_inter do { \ zval *z_arg = zend_hash_str_find(myht, element, sizeof(element) - 1); \ if (z_arg) { \ - convert_to_string(z_arg); \ - DATE_A64I((*intobj)->diff->member, Z_STRVAL_P(z_arg)); \ + zend_string *str = zval_get_string(z_arg); \ + DATE_A64I((*intobj)->diff->member, str->val); \ + STR_RELEASE(str); \ } else { \ (*intobj)->diff->member = -1LL; \ } \