Browse Source

added zval_del_ref() function

experimetnal/RETURN_REF_PATCH
Thies C. Arntzen 27 years ago
parent
commit
f352444541
  1. 12
      Zend/zend_variables.c
  2. 1
      Zend/zend_variables.h

12
Zend/zend_variables.c

@ -89,14 +89,22 @@ ZEND_API int _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)
}
void zval_del_ref(zval **p)
{
(*p)->refcount--;
if ((*p)->refcount==0) {
zval_dtor(*p);
efree(*p);
}
}
void zval_add_ref(zval **p)
{
(*p)->refcount++;
}
ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
{
switch (zvalue->type) {

1
Zend/zend_variables.h

@ -49,6 +49,7 @@ END_EXTERN_C()
void zval_add_ref(zval **p);
void zval_del_ref(zval **p);
#define PVAL_DESTRUCTOR (int (*)(void *)) zval_dtor_wrapper
#define PVAL_PTR_DTOR (int (*)(void *)) zval_ptr_dtor_wrapper

Loading…
Cancel
Save