summaryrefslogtreecommitdiff
path: root/Zend/zend.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend.h')
-rw-r--r--Zend/zend.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/Zend/zend.h b/Zend/zend.h
index 44266c29ce..b62a022e42 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -733,11 +733,11 @@ END_EXTERN_C()
Z_SET_REFCOUNT_PP(ppzv_dest, refcount); \
}
-#define SEPARATE_ARG_IF_REF(varptr) \
- if (Z_ISREF_P(varptr)) { \
- ZVAL_DUP(varptr, Z_REFVAL_P(varptr)); \
- } else { \
- Z_ADDREF_P(varptr); \
+#define SEPARATE_ARG_IF_REF(varptr) \
+ if (Z_ISREF_P(varptr)) { \
+ ZVAL_DUP(varptr, Z_REFVAL_P(varptr)); \
+ } else if (IS_REFCOUNTED(Z_TYPE_P(varptr))) { \
+ Z_ADDREF_P(varptr); \
}
#define READY_TO_DESTROY(zv) \