diff options
Diffstat (limited to 'Zend/zend_operators.h')
| -rw-r--r-- | Zend/zend_operators.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index db6162a4e5..405ca0926f 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -821,6 +821,18 @@ static zend_always_inline char *zend_print_long_to_buf(char *buf, zend_long num) ZEND_API zend_string* ZEND_FASTCALL zend_long_to_str(zend_long num); +static zend_always_inline void zend_unwrap_reference(zval *op) /* {{{ */ +{ + if (Z_REFCOUNT_P(op) == 1) { + ZVAL_UNREF(op); + } else { + Z_DELREF_P(op); + ZVAL_COPY(op, Z_REFVAL_P(op)); + } +} +/* }}} */ + + END_EXTERN_C() #endif |
