summaryrefslogtreecommitdiff
path: root/Zend/zend_ini_parser.y
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-11-20 06:54:57 -0800
committerXinchen Hui <laruence@gmail.com>2015-11-20 06:54:57 -0800
commit4674f18a4bd7cb6788f16a0e5adb28ae1cd0107c (patch)
tree5b4244fa96df1fcd493dcabf3d59f1692d4a06fb /Zend/zend_ini_parser.y
parent519f9bc67520f2dfd43e4d829143721d1334ff59 (diff)
downloadphp-git-4674f18a4bd7cb6788f16a0e5adb28ae1cd0107c.tar.gz
Improved previously fix a little
Diffstat (limited to 'Zend/zend_ini_parser.y')
-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);
}
/* }}} */