diff options
Diffstat (limited to 'Zend/zend.h')
| -rw-r--r-- | Zend/zend.h | 10 |
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) \ |
