|
|
|
@ -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)) { |
|
|
|
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) || |
|
|
|
EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) { |
|
|
|
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue)); |
|
|
|
|