diff options
author | Xinchen Hui <laruence@gmail.com> | 2015-11-20 06:54:57 -0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2015-11-20 06:54:57 -0800 |
commit | 4674f18a4bd7cb6788f16a0e5adb28ae1cd0107c (patch) | |
tree | 5b4244fa96df1fcd493dcabf3d59f1692d4a06fb /Zend/zend_ini_parser.y | |
parent | 519f9bc67520f2dfd43e4d829143721d1334ff59 (diff) | |
download | php-git-4674f18a4bd7cb6788f16a0e5adb28ae1cd0107c.tar.gz |
Improved previously fix a little
Diffstat (limited to 'Zend/zend_ini_parser.y')
-rw-r--r-- | Zend/zend_ini_parser.y | 10 |
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); } /* }}} */ |