mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Properly update string type flags
This commit is contained in:
parent
7674b5e574
commit
99b1a62d55
1 changed files with 7 additions and 0 deletions
|
@ -219,6 +219,13 @@ ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC)
|
||||||
{
|
{
|
||||||
if (EXPECTED(Z_TYPE_P(zvalue) == IS_ARRAY)) {
|
if (EXPECTED(Z_TYPE_P(zvalue) == IS_ARRAY)) {
|
||||||
ZVAL_ARR(zvalue, zend_array_dup(Z_ARRVAL_P(zvalue)));
|
ZVAL_ARR(zvalue, zend_array_dup(Z_ARRVAL_P(zvalue)));
|
||||||
|
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_STRING)) {
|
||||||
|
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
||||||
|
ZVAL_NEW_STR(zvalue, zend_string_dup(Z_STR_P(zvalue), 0));
|
||||||
|
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) {
|
||||||
|
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
||||||
|
Z_STR_P(zvalue) = zend_string_dup(Z_STR_P(zvalue), 0);
|
||||||
|
Z_TYPE_INFO_P(zvalue) = IS_CONSTANT_EX;
|
||||||
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_STRING) ||
|
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_STRING) ||
|
||||||
EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) {
|
EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) {
|
||||||
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue