|
|
@ -167,8 +167,10 @@ 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) || |
|
|
|
|
|
EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) { |
|
|
|
|
|
|
|
|
} 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)); |
|
|
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue)); |
|
|
Z_STR_P(zvalue) = zend_string_dup(Z_STR_P(zvalue), 0); |
|
|
Z_STR_P(zvalue) = zend_string_dup(Z_STR_P(zvalue), 0); |
|
|
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT_AST)) { |
|
|
} else if (EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT_AST)) { |
|
|
|