]> granicus.if.org Git - php/commitdiff
Reuse SEPARATE_ARRAY() macro
authorDmitry Stogov <dmitry@zend.com>
Tue, 11 Feb 2020 13:42:23 +0000 (16:42 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 11 Feb 2020 13:42:23 +0000 (16:42 +0300)
Zend/zend_types.h

index b9f09ffede9c744f7c9918b642fc7b99ce0ef3f2..1b314afa24287460ee552d18006858cae151d931 100644 (file)
@@ -1333,12 +1333,7 @@ static zend_always_inline uint32_t zval_delref_p(zval* pz) {
 #define SEPARATE_ZVAL_IF_NOT_REF(zv) do {                              \
                zval *__zv = (zv);                                                              \
                if (Z_TYPE_P(__zv) == IS_ARRAY) {                               \
-                       if (Z_REFCOUNT_P(__zv) > 1) {                           \
-                               if (Z_REFCOUNTED_P(__zv)) {                             \
-                                       Z_DELREF_P(__zv);                                       \
-                               }                                                                               \
-                               ZVAL_ARR(__zv, zend_array_dup(Z_ARR_P(__zv)));\
-                       }                                                                                       \
+                       SEPARATE_ARRAY(__zv);                       \
                }                                                                                               \
        } while (0)