From 185478d07e64630fcbc24609aad12a84bce87ec9 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 7 Dec 2017 22:35:17 +0300 Subject: [PATCH] Use cheaper SEPARATE macros --- ext/mbstring/mbstring.c | 4 +++- ext/standard/array.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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; -- 2.50.1