diff options
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r-- | Zend/zend_API.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h index f44b6fdf47..c0db612c10 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -485,8 +485,8 @@ END_EXTERN_C() #define ZVAL_ZVAL(z, zv, copy, dtor) { \ int is_ref, refcount; \ - is_ref = (z)->is_ref; \ - refcount = (z)->refcount; \ + is_ref = Z_ISREF_P(z); \ + refcount = Z_REFCOUNT_P(z); \ *(z) = *(zv); \ if (copy) { \ zval_copy_ctor(z); \ @@ -497,8 +497,8 @@ END_EXTERN_C() } \ zval_ptr_dtor(&zv); \ } \ - (z)->is_ref = is_ref; \ - (z)->refcount = refcount; \ + Z_SET_ISREF_TO_P(z, is_ref); \ + Z_SET_REFCOUNT_P(z, refcount); \ } #define ZVAL_FALSE(z) ZVAL_BOOL(z, 0) @@ -578,19 +578,19 @@ END_EXTERN_C() \ if (zend_hash_find(symtable, (name), (name_length), (void **) &orig_var)==SUCCESS \ && PZVAL_IS_REF(*orig_var)) { \ - (var)->refcount = (*orig_var)->refcount; \ - (var)->is_ref = 1; \ + Z_SET_REFCOUNT_P(var, Z_REFCOUNT_PP(orig_var)); \ + Z_SET_ISREF_P(var); \ \ if (_refcount) { \ - (var)->refcount += _refcount-1; \ + Z_SET_REFCOUNT_P(var, Z_REFCOUNT_P(var) + _refcount-1); \ } \ zval_dtor(*orig_var); \ **orig_var = *(var); \ FREE_ZVAL(var); \ } else { \ - (var)->is_ref = _is_ref; \ + Z_SET_ISREF_TO_P(var, _is_ref); \ if (_refcount) { \ - (var)->refcount = _refcount; \ + Z_SET_REFCOUNT_P(var, _refcount); \ } \ zend_hash_update(symtable, (name), (name_length), &(var), sizeof(zval *), NULL); \ } \ |