summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-11-20 06:54:57 -0800
committerAnatol Belski <ab@php.net>2015-11-21 17:48:41 +0100
commite4d1ac2c0f9dd0ac0789fe6afff0e3f97dae3bc6 (patch)
tree3b057b88edb033a3096e505390ee261bc0c714f8
parent855cf743abc1c3721db2e54c74faa6d8518bbc1b (diff)
downloadphp-git-e4d1ac2c0f9dd0ac0789fe6afff0e3f97dae3bc6.tar.gz
Improved previously fix a little
-rw-r--r--Zend/zend_ini_parser.y10
1 files changed, 4 insertions, 6 deletions
diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y
index d6f33159d8..015a2d61b0 100644
--- a/Zend/zend_ini_parser.y
+++ b/Zend/zend_ini_parser.y
@@ -106,21 +106,19 @@ static void zend_ini_add_string(zval *result, zval *op1, zval *op2)
if (Z_TYPE_P(op1) != IS_STRING) {
zend_string *str = zval_get_string(op1);
- ZVAL_PSTRINGL(op1, str->val, str->len);
+ /* ZEND_ASSERT(!Z_REFCOUNTED_P(op1)); */
+ ZVAL_PSTRINGL(op1, ZSTR_VAL(str), ZSTR_LEN(str));
zend_string_release(str);
}
op1_len = (int)Z_STRLEN_P(op1);
if (Z_TYPE_P(op2) != IS_STRING) {
- zend_string *str = zval_get_string(op2);
- ZVAL_PSTRINGL(op2, str->val, str->len);
- zend_string_release(str);
+ convert_to_string(op2);
}
length = op1_len + (int)Z_STRLEN_P(op2);
ZVAL_NEW_STR(result, zend_string_extend(Z_STR_P(op1), length, 1));
- memcpy(Z_STRVAL_P(result)+op1_len, Z_STRVAL_P(op2), Z_STRLEN_P(op2));
- Z_STRVAL_P(result)[length] = 0;
+ memcpy(Z_STRVAL_P(result) + op1_len, Z_STRVAL_P(op2), Z_STRLEN_P(op2) + 1);
}
/* }}} */