From: Dmitry Stogov Date: Thu, 7 Dec 2017 19:35:17 +0000 (+0300) Subject: Use cheaper SEPARATE macros X-Git-Tag: php-7.3.0alpha1~854 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=185478d07e64630fcbc24609aad12a84bce87ec9;p=php Use cheaper SEPARATE macros --- diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index e9b6d4a32c..7b3297ba6b 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3734,7 +3734,9 @@ static int mb_recursive_convert_variable(mbfl_buffer_converter *convd, zval *var efree(ret->val); } } else if (Z_TYPE_P(var) == IS_ARRAY || Z_TYPE_P(var) == IS_OBJECT) { - SEPARATE_ZVAL_NOREF(var); + if (Z_TYPE_P(var) == IS_ARRAY) { + SEPARATE_ARRAY(var); + } if (Z_REFCOUNTED_P(var)) { if (Z_IS_RECURSIVE_P(var)) { return 1; diff --git a/ext/standard/array.c b/ext/standard/array.c index 7e927d8956..dfeaef8747 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2467,7 +2467,7 @@ PHP_FUNCTION(extract) extract_refs = (extract_type & EXTR_REFS); if (extract_refs) { - SEPARATE_ZVAL(var_array_param); + SEPARATE_ZVAL_NOREF(var_array_param); } extract_type &= 0xff;