summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/com_dotnet/com_handlers.c8
-rwxr-xr-xext/com_dotnet/com_persist.c4
-rw-r--r--ext/com_dotnet/com_saproxy.c6
-rw-r--r--ext/com_dotnet/com_wrapper.c6
-rw-r--r--ext/date/php_date.c4
-rw-r--r--ext/dom/attr.c2
-rw-r--r--ext/dom/characterdata.c2
-rw-r--r--ext/dom/document.c22
-rw-r--r--ext/dom/dom_iterators.c6
-rw-r--r--ext/dom/node.c4
-rw-r--r--ext/dom/php_dom.c12
-rw-r--r--ext/dom/processinginstruction.c2
-rw-r--r--ext/iconv/iconv.c2
-rw-r--r--ext/json/JSON_parser.c6
-rw-r--r--ext/libxml/libxml.c2
-rw-r--r--ext/mbstring/mbstring.c4
-rw-r--r--ext/mbstring/php_mbregex.c2
-rw-r--r--ext/mysql/php_mysql.c2
-rw-r--r--ext/mysqli/mysqli.c8
-rw-r--r--ext/mysqli/mysqli_api.c4
-rw-r--r--ext/mysqlnd/mysqlnd_palloc.c14
-rw-r--r--ext/mysqlnd/mysqlnd_ps.c6
-rw-r--r--ext/mysqlnd/mysqlnd_result.c10
-rw-r--r--ext/oci8/oci8.c2
-rw-r--r--ext/odbc/php_odbc.c2
-rw-r--r--ext/pcre/php_pcre.c6
-rwxr-xr-xext/pdo/pdo_dbh.c8
-rwxr-xr-xext/pdo/pdo_stmt.c14
-rw-r--r--ext/reflection/php_reflection.c16
-rw-r--r--ext/session/session.c2
-rw-r--r--ext/simplexml/simplexml.c18
-rw-r--r--ext/soap/php_encoding.c18
-rw-r--r--ext/soap/php_packet_soap.c4
-rw-r--r--ext/soap/soap.c16
-rwxr-xr-xext/spl/php_spl.c2
-rwxr-xr-xext/spl/spl_array.c32
-rwxr-xr-xext/spl/spl_directory.c7
-rwxr-xr-xext/spl/spl_engine.c4
-rwxr-xr-xext/spl/spl_iterators.c18
-rwxr-xr-xext/spl/spl_observer.c2
-rw-r--r--ext/sqlite/sqlite.c24
-rw-r--r--ext/standard/array.c28
-rw-r--r--ext/standard/basic_functions.c6
-rw-r--r--ext/standard/php_filestat.h2
-rw-r--r--ext/standard/scanf.c24
-rw-r--r--ext/standard/streamsfuncs.c2
-rw-r--r--ext/standard/string.c2
-rw-r--r--ext/standard/user_filters.c4
-rw-r--r--ext/standard/var.c7
-rw-r--r--ext/standard/var_unserializer.c10
-rw-r--r--ext/standard/var_unserializer.re10
-rw-r--r--ext/sybase/php_sybase_db.c6
-rw-r--r--ext/sybase_ct/php_sybase_ct.c2
-rw-r--r--ext/tidy/tidy.c4
-rw-r--r--ext/unicode/unicode_iterators.c2
-rw-r--r--ext/wddx/wddx.c2
-rw-r--r--ext/xmlreader/php_xmlreader.c2
-rw-r--r--ext/xsl/xsltprocessor.c2
-rw-r--r--ext/zip/php_zip.c6
59 files changed, 227 insertions, 227 deletions
diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c
index 53ce402202..f4ea8a5790 100644
--- a/ext/com_dotnet/com_handlers.c
+++ b/ext/com_dotnet/com_handlers.c
@@ -38,8 +38,8 @@ static zval *com_property_read(zval *object, zval *member, int type TSRMLS_DC)
MAKE_STD_ZVAL(return_value);
ZVAL_NULL(return_value);
- return_value->refcount = 0;
- return_value->is_ref = 0;
+ Z_SET_REFCOUNT_P(return_value, 0);
+ Z_UNSET_ISREF_P(return_value);
obj = CDNO_FETCH(object);
@@ -92,8 +92,8 @@ static zval *com_read_dimension(zval *object, zval *offset, int type TSRMLS_DC)
MAKE_STD_ZVAL(return_value);
ZVAL_NULL(return_value);
- return_value->refcount = 0;
- return_value->is_ref = 0;
+ Z_SET_REFCOUNT_P(return_value, 0);
+ Z_UNSET_ISREF_P(return_value);
obj = CDNO_FETCH(object);
diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c
index 3513fa0ecd..7bff720be4 100755
--- a/ext/com_dotnet/com_persist.c
+++ b/ext/com_dotnet/com_persist.c
@@ -261,7 +261,7 @@ static void istream_destructor(php_istream *stm)
return;
}
- if (stm->refcount > 0) {
+ if (Z_REFCOUNT_P(stm) > 0) {
CoDisconnectObject((IUnknown*)stm, 0);
}
@@ -281,7 +281,7 @@ PHPAPI IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC)
memset(stm, 0, sizeof(*stm));
stm->engine_thread = GetCurrentThreadId();
stm->lpVtbl = &php_istream_vtbl;
- stm->refcount = 1;
+ Z_SET_REFCOUNT_P(stm, 1);
stm->stream = stream;
zend_list_addref(stream->rsrc_id);
diff --git a/ext/com_dotnet/com_saproxy.c b/ext/com_dotnet/com_saproxy.c
index 7d8dae994f..04f870c1e7 100644
--- a/ext/com_dotnet/com_saproxy.c
+++ b/ext/com_dotnet/com_saproxy.c
@@ -427,7 +427,7 @@ static void saproxy_clone(void *object, void **clone_ptr TSRMLS_DC)
cloneproxy = emalloc(sizeof(*cloneproxy));
memcpy(cloneproxy, proxy, sizeof(*cloneproxy));
- ZVAL_ADDREF(cloneproxy->zobj);
+ Z_ADDREF_P(cloneproxy->zobj);
cloneproxy->indices = safe_emalloc(cloneproxy->dimensions, sizeof(zval *), 0);
clone_indices(cloneproxy, proxy, proxy->dimensions);
@@ -451,7 +451,7 @@ int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS
proxy->zobj = com_object;
}
- ZVAL_ADDREF(proxy->zobj);
+ Z_ADDREF_P(proxy->zobj);
proxy->indices = safe_emalloc(proxy->dimensions, sizeof(zval *), 0);
if (rel) {
@@ -570,7 +570,7 @@ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *objec
I->proxy = proxy;
I->proxy_obj = object;
- ZVAL_ADDREF(I->proxy_obj);
+ Z_ADDREF_P(I->proxy_obj);
I->indices = safe_emalloc(proxy->dimensions + 1, sizeof(LONG), 0);
for (i = 0; i < proxy->dimensions; i++) {
diff --git a/ext/com_dotnet/com_wrapper.c b/ext/com_dotnet/com_wrapper.c
index 9690665e93..328938528a 100644
--- a/ext/com_dotnet/com_wrapper.c
+++ b/ext/com_dotnet/com_wrapper.c
@@ -547,11 +547,11 @@ static php_dispatchex *disp_constructor(zval *object TSRMLS_DC)
disp->engine_thread = GetCurrentThreadId();
disp->lpVtbl = &php_dispatch_vtbl;
- disp->refcount = 1;
+ Z_SET_REFCOUNT_P(disp, 1);
if (object)
- ZVAL_ADDREF(object);
+ Z_ADDREF_P(object);
disp->object = object;
disp->id = zend_list_insert(disp, le_dispatch);
@@ -572,7 +572,7 @@ static void disp_destructor(php_dispatchex *disp)
disp->id = 0;
- if (disp->refcount > 0)
+ if (Z_REFCOUNT_P(disp) > 0)
CoDisconnectObject((IUnknown*)disp, 0);
zend_hash_destroy(disp->dispid_to_name);
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 69187dd956..64ecaeae37 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -1757,8 +1757,8 @@ static zval * date_instantiate(zend_class_entry *pce, zval *object TSRMLS_DC)
Z_TYPE_P(object) = IS_OBJECT;
object_init_ex(object, pce);
- object->refcount = 1;
- object->is_ref = 0;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_UNSET_ISREF_P(object);
return object;
}
diff --git a/ext/dom/attr.c b/ext/dom/attr.c
index e50f009d24..530e89a514 100644
--- a/ext/dom/attr.c
+++ b/ext/dom/attr.c
@@ -179,7 +179,7 @@ int dom_attr_value_write(dom_object *obj, zval *newval TSRMLS_DC)
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
diff --git a/ext/dom/characterdata.c b/ext/dom/characterdata.c
index d40f40aa24..f29d4e113a 100644
--- a/ext/dom/characterdata.c
+++ b/ext/dom/characterdata.c
@@ -86,7 +86,7 @@ int dom_characterdata_data_write(dom_object *obj, zval *newval TSRMLS_DC)
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
diff --git a/ext/dom/document.c b/ext/dom/document.c
index 54bb94720d..d3c05f192e 100644
--- a/ext/dom/document.c
+++ b/ext/dom/document.c
@@ -218,7 +218,7 @@ int dom_document_encoding_write(dom_object *obj, zval *newval TSRMLS_DC)
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -286,7 +286,7 @@ int dom_document_standalone_write(dom_object *obj, zval *newval TSRMLS_DC)
return FAILURE;
}
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -361,7 +361,7 @@ int dom_document_version_write(dom_object *obj, zval *newval TSRMLS_DC)
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -404,7 +404,7 @@ int dom_document_strict_error_checking_write(dom_object *obj, zval *newval TSRML
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -447,7 +447,7 @@ int dom_document_format_output_write(dom_object *obj, zval *newval TSRMLS_DC)
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -489,7 +489,7 @@ int dom_document_validate_on_parse_write(dom_object *obj, zval *newval TSRMLS_DC
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -532,7 +532,7 @@ int dom_document_resolve_externals_write(dom_object *obj, zval *newval TSRMLS_DC
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -575,7 +575,7 @@ int dom_document_preserve_whitespace_write(dom_object *obj, zval *newval TSRMLS_
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -617,7 +617,7 @@ int dom_document_recover_write(dom_object *obj, zval *newval TSRMLS_DC)
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -660,7 +660,7 @@ int dom_document_substitue_entities_write(dom_object *obj, zval *newval TSRMLS_D
zval value_copy;
dom_doc_propsptr doc_prop;
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -726,7 +726,7 @@ int dom_document_document_uri_write(dom_object *obj, zval *newval TSRMLS_DC)
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
diff --git a/ext/dom/dom_iterators.c b/ext/dom/dom_iterators.c
index 518af21888..8698a13ad0 100644
--- a/ext/dom/dom_iterators.c
+++ b/ext/dom/dom_iterators.c
@@ -209,7 +209,7 @@ static void php_dom_iterator_move_forward(zend_object_iterator *iter TSRMLS_DC)
zend_hash_move_forward(nodeht);
if (zend_hash_get_current_data(nodeht, (void **) &entry)==SUCCESS) {
curattr = *entry;
- curattr->refcount++;
+ Z_ADDREF_P(curattr);
}
} else {
curnode = (xmlNodePtr)((php_libxml_node_ptr *)intern->ptr)->node;
@@ -274,7 +274,7 @@ zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, i
iterator = emalloc(sizeof(php_dom_iterator));
- object->refcount++;
+ Z_ADDREF_P(object);
iterator->intern.data = (void*)object;
iterator->intern.funcs = &php_dom_iterator_funcs;
@@ -288,7 +288,7 @@ zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, i
zend_hash_internal_pointer_reset(nodeht);
if (zend_hash_get_current_data(nodeht, (void **) &entry)==SUCCESS) {
curattr = *entry;
- curattr->refcount++;
+ Z_ADDREF_P(curattr);
}
} else {
nodep = (xmlNode *)dom_object_get_node(objmap->baseobj);
diff --git a/ext/dom/node.c b/ext/dom/node.c
index 81e4e5c10c..2566bbad68 100644
--- a/ext/dom/node.c
+++ b/ext/dom/node.c
@@ -240,7 +240,7 @@ int dom_node_node_value_write(dom_object *obj, zval *newval TSRMLS_DC)
case XML_CDATA_SECTION_NODE:
case XML_PI_NODE:
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
@@ -700,7 +700,7 @@ int dom_node_prefix_write(dom_object *obj, zval *newval TSRMLS_DC)
}
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index 121369e690..1d5d5319fc 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -312,8 +312,8 @@ zval *dom_read_property(zval *object, zval *member, int type TSRMLS_DC)
ret = hnd->read_func(obj, &retval TSRMLS_CC);
if (ret == SUCCESS) {
/* ensure we're creating a temporary variable */
- retval->refcount = 0;
- retval->is_ref = 0;
+ Z_SET_REFCOUNT_P(retval, 0);
+ Z_UNSET_ISREF_P(retval);
} else {
retval = EG(uninitialized_zval_ptr);
}
@@ -392,8 +392,8 @@ static int dom_property_exists(zval *object, zval *member, int check_empty TSRML
if (check_empty == 2) {
retval = 1;
} else if (hnd->read_func(obj, &tmp TSRMLS_CC) == SUCCESS) {
- tmp->refcount = 1;
- tmp->is_ref = 0;
+ Z_SET_REFCOUNT_P(tmp, 1);
+ Z_UNSET_ISREF_P(tmp);
if (check_empty == 1) {
retval = zend_is_true(tmp);
} else if (check_empty == 0) {
@@ -988,7 +988,7 @@ void dom_namednode_iter(dom_object *basenode, int ntype, dom_object *intern, xml
if (basenode) {
MAKE_STD_ZVAL(baseobj);
baseobj->type = IS_OBJECT;
- baseobj->is_ref = 1;
+ Z_SET_ISREF_P(baseobj);
baseobj->value.obj.handle = basenode->handle;
baseobj->value.obj.handlers = dom_get_obj_handlers(TSRMLS_C);
zval_copy_ctor(baseobj);
@@ -1194,7 +1194,7 @@ PHP_DOM_EXPORT zval *php_dom_create_object(xmlNodePtr obj, int *found, zval *wra
if ((intern = (dom_object *) php_dom_object_get_data((void *) obj))) {
return_value->type = IS_OBJECT;
- return_value->is_ref = 1;
+ Z_SET_ISREF_P(return_value);
return_value->value.obj.handle = intern->handle;
return_value->value.obj.handlers = dom_get_obj_handlers(TSRMLS_C);
zval_copy_ctor(return_value);
diff --git a/ext/dom/processinginstruction.c b/ext/dom/processinginstruction.c
index 3380e034ce..fb57c42750 100644
--- a/ext/dom/processinginstruction.c
+++ b/ext/dom/processinginstruction.c
@@ -150,7 +150,7 @@ int dom_processinginstruction_data_write(dom_object *obj, zval *newval TSRMLS_DC
}
if (newval->type != IS_STRING) {
- if(newval->refcount > 1) {
+ if(Z_REFCOUNT_P(newval) > 1) {
value_copy = *newval;
zval_copy_ctor(&value_copy);
newval = &value_copy;
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index 9122bd2eb0..82244e8f31 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -2345,7 +2345,7 @@ PHP_FUNCTION(iconv_mime_decode_headers)
MAKE_STD_ZVAL(new_elem);
array_init(new_elem);
- ZVAL_ADDREF(*elem);
+ Z_ADDREF_P(*elem);
add_next_index_zval(new_elem, *elem);
zend_hash_update(Z_ARRVAL_P(return_value), header_name, header_name_len, (void *)&new_elem, sizeof(new_elem), NULL);
diff --git a/ext/json/JSON_parser.c b/ext/json/JSON_parser.c
index ffa54b44af..d30904a178 100644
--- a/ext/json/JSON_parser.c
+++ b/ext/json/JSON_parser.c
@@ -340,7 +340,7 @@ static void attach_zval(json_parser *json, int up, int cur, smart_str *key, int
if (!assoc) {
add_utf8_property_zval_ex(root, (key->len ? key->c : "_empty_"), (key->len ? (key->len + 1) : sizeof("_empty_")), child TSRMLS_CC);
#if PHP_MAJOR_VERSION >= 5
- ZVAL_DELREF(child);
+ Z_DELREF_P(child);
#endif
} else {
add_utf8_assoc_zval_ex(root, (key->len ? key->c : ""), (key->len ? (key->len + 1) : sizeof("")), child);
@@ -467,7 +467,7 @@ int JSON_parser(zval *z, unsigned short p[], int length, int assoc TSRMLS_DC) /*
if (!assoc) {
add_utf8_property_zval_ex(JSON(the_zstack)[JSON(the_top)], (key.len ? key.c : "_empty_"), (key.len ? (key.len + 1) : sizeof("_empty_")), mval TSRMLS_CC);
#if PHP_MAJOR_VERSION >= 5
- ZVAL_DELREF(mval);
+ Z_DELREF_P(mval);
#endif
} else {
add_utf8_assoc_zval_ex(JSON(the_zstack)[JSON(the_top)], (key.len ? key.c : ""), (key.len ? (key.len + 1) : sizeof("")), mval);
@@ -589,7 +589,7 @@ int JSON_parser(zval *z, unsigned short p[], int length, int assoc TSRMLS_DC) /*
if (!assoc) {
add_utf8_property_zval_ex(JSON(the_zstack)[JSON(the_top)], (key.len ? key.c : "_empty_"), (key.len ? (key.len + 1) : sizeof("_empty_")), mval TSRMLS_CC);
#if PHP_MAJOR_VERSION >= 5
- ZVAL_DELREF(mval);
+ Z_DELREF_P(mval);
#endif
} else {
add_utf8_assoc_zval_ex(JSON(the_zstack)[JSON(the_top)], (key.len ? key.c : ""), (key.len ? (key.len + 1) : sizeof("")), mval);
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index 7ae1f86b3c..0ab69fbca8 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -710,7 +710,7 @@ static PHP_FUNCTION(libxml_set_streams_context)
zval_ptr_dtor(&LIBXML(stream_context));
LIBXML(stream_context) = NULL;
}
- ZVAL_ADDREF(arg);
+ Z_ADDREF_P(arg);
LIBXML(stream_context) = arg;
}
/* }}} */
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index ecf2f07e1e..69f0bcb8c0 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -3192,8 +3192,8 @@ detect_end:
string.len = Z_STRLEN_PP(hash_entry);
ret = mbfl_buffer_converter_feed_result(convd, &string, &result);
if (ret != NULL) {
- if ((*hash_entry)->refcount > 1) {
- ZVAL_DELREF(*hash_entry);
+ if (Z_REFCOUNT_PP(hash_entry) > 1) {
+ Z_DELREF_P(*hash_entry);
MAKE_STD_ZVAL(*hash_entry);
} else {
zval_dtor(*hash_entry);
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
index 81b39b1bd8..79ff22a503 100644
--- a/ext/mbstring/php_mbregex.c
+++ b/ext/mbstring/php_mbregex.c
@@ -1112,7 +1112,7 @@ PHP_FUNCTION(mb_ereg_search_init)
}
MBSTRG(search_str) = *arg_str;
- ZVAL_ADDREF(MBSTRG(search_str));
+ Z_ADDREF_P(MBSTRG(search_str));
SEPARATE_ZVAL_IF_NOT_REF(&MBSTRG(search_str));
MBSTRG(search_pos) = 0;
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index accc9783bc..8461f27ea8 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -2093,7 +2093,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
}
if (result_type & MYSQL_ASSOC) {
if (result_type & MYSQL_NUM) {
- ZVAL_ADDREF(data);
+ Z_ADDREF_P(data);
}
if (UG(unicode)) {
UChar *ustr;
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index 5a0b3ec427..fd8b7f8244 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -354,7 +354,7 @@ zval *mysqli_read_property(zval *object, zval *member, int type TSRMLS_DC)
ret = hnd->read_func(obj, &retval TSRMLS_CC);
if (ret == SUCCESS) {
/* ensure we're creating a temporary variable */
- retval->refcount = 0;
+ Z_SET_REFCOUNT_P(retval, 0);
} else {
retval = EG(uninitialized_zval_ptr);
}
@@ -394,8 +394,8 @@ void mysqli_write_property(zval *object, zval *member, zval *value TSRMLS_DC)
}
if (ret == SUCCESS) {
hnd->write_func(obj, value TSRMLS_CC);
- if (! PZVAL_IS_REF(value) && value->refcount == 0) {
- value->refcount++;
+ if (! PZVAL_IS_REF(value) && Z_REFCOUNT_P(value) == 0) {
+ Z_ADDREF_P(value);
zval_ptr_dtor(&value);
}
} else {
@@ -1108,7 +1108,7 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags
}
if (fetchtype & MYSQLI_ASSOC) {
if (fetchtype & MYSQLI_NUM) {
- ZVAL_ADDREF(res);
+ Z_ADDREF_P(res);
}
if (UG(unicode)) {
UChar *ustr;
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 19195d2719..9bffcc5f7d 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -138,7 +138,7 @@ end_1:
stmt->param.vars = (zval **)safe_emalloc(num_vars, sizeof(zval), 0);
for (i = 0; i < num_vars; i++) {
if (bind[i].buffer_type != MYSQL_TYPE_LONG_BLOB) {
- ZVAL_ADDREF(*args[i+start]);
+ Z_ADDREF_P(*args[i+start]);
stmt->param.vars[i] = *args[i+start];
} else {
stmt->param.vars[i] = NULL;
@@ -426,7 +426,7 @@ mysqli_stmt_bind_result_do_bind(MY_STMT *stmt, zval ***args, unsigned int argc,
stmt->result.vars = (zval **)safe_emalloc((var_cnt), sizeof(zval), 0);
for (i = start; i < var_cnt+start; i++) {
ofs = i-start;
- ZVAL_ADDREF(*args[i]);
+ Z_ADDREF_P(*args[i]);
stmt->result.vars[ofs] = *args[i];
}
}
diff --git a/ext/mysqlnd/mysqlnd_palloc.c b/ext/mysqlnd/mysqlnd_palloc.c
index fba769038a..819c9def3e 100644
--- a/ext/mysqlnd/mysqlnd_palloc.c
+++ b/ext/mysqlnd/mysqlnd_palloc.c
@@ -76,7 +76,7 @@ PHPAPI MYSQLND_ZVAL_PCACHE* _mysqlnd_palloc_init_cache(unsigned int cache_size T
INIT_PZVAL(&(ret->block[i].zv));
ZVAL_NULL(&(ret->block[i].zv));
/* Assure it will never be freed before MSHUTDOWN */
- ZVAL_ADDREF(&(ret->block[i].zv));
+ Z_ADDREF_P(&(ret->block[i].zv));
/* 2. Add to the free list */
*(--ret->free_list.last_added) = &(ret->block[i]);
}
@@ -328,7 +328,7 @@ void *mysqlnd_palloc_get_zval(MYSQLND_THD_ZVAL_PCACHE * const thd_cache, zend_bo
} else {
/* This will set the refcount to 1, increase it, to keep the variable */
INIT_PZVAL(&((mysqlnd_zval *) ret)->zv);
- ZVAL_ADDREF(&(((mysqlnd_zval *)ret)->zv));
+ Z_ADDREF_P(&(((mysqlnd_zval *)ret)->zv));
}
DBG_INF_FMT("allocated=%d ret=%p", *allocated, ret);
@@ -347,7 +347,7 @@ void mysqlnd_palloc_zval_ptr_dtor(zval **zv, MYSQLND_THD_ZVAL_PCACHE * const thd
thd_cache,
thd_cache->parent? thd_cache->parent->block:NULL,
thd_cache->parent? thd_cache->parent->last_in_block:NULL,
- *zv, ZVAL_REFCOUNT(*zv), type);
+ *zv, Z_REFCOUNT_PP(zv), type);
*copy_ctor_called = FALSE;
/* Check whether cache is used and the zval is from the cache */
if (!thd_cache || !(cache = thd_cache->parent) || ((char *)*zv < (char *)thd_cache->parent->block ||
@@ -359,7 +359,7 @@ void mysqlnd_palloc_zval_ptr_dtor(zval **zv, MYSQLND_THD_ZVAL_PCACHE * const thd
*/
if (type == MYSQLND_RES_PS_BUF || type == MYSQLND_RES_PS_UNBUF) {
; /* do nothing, zval_ptr_dtor will do the job*/
- } else if (ZVAL_REFCOUNT(*zv) > 1) {
+ } else if (Z_REFCOUNT_P(*zv) > 1) {
/*
Not a prepared statement, then we have to
call copy_ctor and then zval_ptr_dtor()
@@ -388,8 +388,8 @@ void mysqlnd_palloc_zval_ptr_dtor(zval **zv, MYSQLND_THD_ZVAL_PCACHE * const thd
}
/* The zval is from our cache */
- /* refcount is always > 1, because we call ZVAL_ADDREF(). Thus test refcount > 2 */
- if (ZVAL_REFCOUNT(*zv) > 2) {
+ /* refcount is always > 1, because we call Z_ADDREF_P(). Thus test refcount > 2 */
+ if (Z_REFCOUNT_P(*zv) > 2) {
/*
Because the zval is first element in mysqlnd_zval structure, then we can
do upcasting from zval to mysqlnd_zval here. Because we know that this
@@ -435,7 +435,7 @@ void mysqlnd_palloc_zval_ptr_dtor(zval **zv, MYSQLND_THD_ZVAL_PCACHE * const thd
++cache->put_hits;
++cache->free_items;
((mysqlnd_zval *)*zv)->point_type = MYSQLND_POINTS_FREE;
- ZVAL_DELREF(*zv); /* Make it 1 */
+ Z_DELREF_P(*zv); /* Make it 1 */
ZVAL_NULL(*zv);
#ifdef ZTS
memset(&((mysqlnd_zval *)*zv)->thread_id, 0, sizeof(THREAD_T));
diff --git a/ext/mysqlnd/mysqlnd_ps.c b/ext/mysqlnd/mysqlnd_ps.c
index 00dc46761f..19fc79ef03 100644
--- a/ext/mysqlnd/mysqlnd_ps.c
+++ b/ext/mysqlnd/mysqlnd_ps.c
@@ -1149,7 +1149,7 @@ MYSQLND_METHOD(mysqlnd_stmt, bind_param)(MYSQLND_STMT * const stmt,
DBG_INF_FMT("%d is of type %d", i, stmt->param_bind[i].type);
if (stmt->param_bind[i].type != MYSQL_TYPE_LONG_BLOB) {
/* Prevent from freeing */
- ZVAL_ADDREF(stmt->param_bind[i].zv);
+ Z_ADDREF_P(stmt->param_bind[i].zv);
/* Don't update is_ref, or we will leak during conversion */
} else {
stmt->param_bind[i].zv = NULL;
@@ -1197,7 +1197,7 @@ MYSQLND_METHOD(mysqlnd_stmt, bind_result)(MYSQLND_STMT * const stmt,
stmt->result_bind = result_bind;
for (i = 0; i < stmt->field_count; i++) {
/* Prevent from freeing */
- ZVAL_ADDREF(stmt->result_bind[i].zv);
+ Z_ADDREF_P(stmt->result_bind[i].zv);
/*
Don't update is_ref !!! it's not our job
Otherwise either 009.phpt or mysqli_stmt_bind_result.phpt
@@ -1499,7 +1499,7 @@ void mysqlnd_stmt_separate_result_bind(MYSQLND_STMT * const stmt TSRMLS_DC)
We have to separate the actual zval value of the bound
variable from our allocated zvals or we will face double-free
*/
- if (ZVAL_REFCOUNT(stmt->result_bind[i].zv) > 1) {
+ if (Z_REFCOUNT_P(stmt->result_bind[i].zv) > 1) {
#ifdef WE_DONT_COPY_IN_BUFFERED_AND_UNBUFFERED_BECAUSEOF_IS_REF
zval_copy_ctor(stmt->result_bind[i].zv);
#endif
diff --git a/ext/mysqlnd/mysqlnd_result.c b/ext/mysqlnd/mysqlnd_result.c
index 2d42d65469..7f037d1fdb 100644
--- a/ext/mysqlnd/mysqlnd_result.c
+++ b/ext/mysqlnd/mysqlnd_result.c
@@ -539,10 +539,10 @@ mysqlnd_fetch_row_unbuffered(MYSQLND_RES *result, void *param, unsigned int flag
}
/* Forbid ZE to free it, we will clean it */
- ZVAL_ADDREF(data);
+ Z_ADDREF_P(data);
if ((flags & MYSQLND_FETCH_BOTH) == MYSQLND_FETCH_BOTH) {
- ZVAL_ADDREF(data);
+ Z_ADDREF_P(data);
}
if (flags & MYSQLND_FETCH_NUM) {
zend_hash_next_index_insert(row_ht, &data, sizeof(zval *), NULL);
@@ -671,10 +671,10 @@ mysqlnd_fetch_row_buffered(MYSQLND_RES *result, void *param, unsigned int flags,
Let us later know what to do with this zval. If ref_count > 1, we will just
decrease it, otherwise free it. zval_ptr_dtor() make this very easy job.
*/
- ZVAL_ADDREF(data);
+ Z_ADDREF_P(data);
if ((flags & MYSQLND_FETCH_BOTH) == MYSQLND_FETCH_BOTH) {
- ZVAL_ADDREF(data);
+ Z_ADDREF_P(data);
}
if (flags & MYSQLND_FETCH_NUM) {
zend_hash_next_index_insert(Z_ARRVAL_P(row), &data, sizeof(zval *), NULL);
@@ -1138,7 +1138,7 @@ MYSQLND_METHOD(mysqlnd_res, fetch_field_data)(MYSQLND_RES *result, unsigned int
*return_value = **entry;
zval_copy_ctor(return_value);
- ZVAL_REFCOUNT(return_value) = 1;
+ Z_REFCOUNT_P(return_value) = 1;
zval_dtor(&row);
DBG_VOID_RETURN;
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index 70af334c07..d1cc08dccf 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -1812,7 +1812,7 @@ void php_oci_fetch_row (INTERNAL_FUNCTION_PARAMETERS, int mode, int expected_arg
}
if (fetch_mode & PHP_OCI_ASSOC) {
if (fetch_mode & PHP_OCI_NUM) {
- ZVAL_ADDREF(element);
+ Z_ADDREF_P(element);
}
add_u_assoc_zval(return_value, (UG(unicode) ? IS_UNICODE : IS_STRING), column->name, element);
}
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 17a0a092c7..a5b6ff317a 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -1568,7 +1568,7 @@ PHP_FUNCTION(odbc_fetch_into)
for(i = 0; i < result->numcols; i++) {
ALLOC_ZVAL(tmp);
- tmp->refcount = 1;
+ Z_SET_REFCOUNT_P(tmp, 1);
Z_TYPE_P(tmp) = IS_STRING;
Z_STRLEN_P(tmp) = 0;
sql_c_type = SQL_C_CHAR;
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c
index 55974c7e73..5fcf7e64d5 100644
--- a/ext/pcre/php_pcre.c
+++ b/ext/pcre/php_pcre.c
@@ -845,13 +845,13 @@ PHPAPI void php_pcre_match_impl(pcre_cache_entry *pce, zend_uchar utype, char *s
zend_string_to_unicode_ex(UG(utf8_conv), &u, &u_len, subpat_names[i], strlen(subpat_names[i]), &status);
zend_u_hash_update(Z_ARRVAL_P(subpats), IS_UNICODE, ZSTR(u),
u_len+1, &match_sets[i], sizeof(zval *), NULL);
- ZVAL_ADDREF(match_sets[i]);
+ Z_ADDREF_P(match_sets[i]);
efree(u);
status = U_ZERO_ERROR;
} else {
zend_hash_update(Z_ARRVAL_P(subpats), subpat_names[i],
strlen(subpat_names[i])+1, &match_sets[i], sizeof(zval *), NULL);
- ZVAL_ADDREF(match_sets[i]);
+ Z_ADDREF_P(match_sets[i]);
}
}
zend_hash_next_index_insert(Z_ARRVAL_P(subpats), &match_sets[i], sizeof(zval *), NULL);
@@ -1961,7 +1961,7 @@ PHPAPI void php_pcre_grep_impl(pcre_cache_entry *pce, zval *input, zval *return
/* If the entry fits our requirements */
if ((count > 0 && !invert) ||
(count == PCRE_ERROR_NOMATCH && invert)) {
- (*entry)->refcount++;
+ Z_ADDREF_PP(entry);
/* Add to return array */
switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(input), &string_key, &string_key_len, &num_key, 0, NULL))
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index 42c69606ce..18f30dc35c 100755
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
@@ -430,8 +430,8 @@ static zval *pdo_stmt_instantiate(pdo_dbh_t *dbh, zval *object, zend_class_entry
Z_TYPE_P(object) = IS_OBJECT;
object_init_ex(object, dbstmt_ce);
- object->refcount = 1;
- object->is_ref = 1;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_SET_ISREF_P(object);
return object;
} /* }}} */
@@ -785,7 +785,7 @@ static int pdo_dbh_attribute_set(pdo_dbh_t *dbh, long attr, zval *value TSRMLS_D
PDO_HANDLE_DBH_ERR();
return FAILURE;
}
- (*item)->refcount++;
+ Z_ADDREF_PP(item);
dbh->def_stmt_ctor_args = *item;
}
return SUCCESS;
@@ -872,7 +872,7 @@ static PHP_METHOD(PDO, getAttribute)
array_init(return_value);
add_next_index_text(return_value, dbh->def_stmt_ce->name, 1);
if (dbh->def_stmt_ctor_args) {
- dbh->def_stmt_ctor_args->refcount++;
+ Z_ADDREF_P(dbh->def_stmt_ctor_args);
add_next_index_zval(return_value, dbh->def_stmt_ctor_args);
}
return;
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 9c2b488f75..72ae4a5c5a 100755
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -291,7 +291,7 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s
param->is_param = is_param;
if (param->driver_params) {
- ZVAL_ADDREF(param->driver_params);
+ Z_ADDREF_P(param->driver_params);
}
if (!is_param && param->name && stmt->columns) {
@@ -1061,7 +1061,7 @@ static int do_fetch(pdo_stmt_t *stmt, int do_bind, zval *return_value,
case PDO_FETCH_USE_DEFAULT:
case PDO_FETCH_BOTH:
add_assoc_zval(return_value, stmt->columns[i].name, val);
- ZVAL_ADDREF(val);
+ Z_ADDREF_P(val);
add_next_index_zval(return_value, val);
break;
@@ -1595,7 +1595,7 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt,
return 0;
}
- ZVAL_ADDREF(param.parameter);
+ Z_ADDREF_P(param.parameter);
if (!really_register_bound_param(&param, stmt, is_param TSRMLS_CC)) {
if (param.parameter) {
zval_ptr_dtor(&(param.parameter));
@@ -1631,7 +1631,7 @@ static PHP_METHOD(PDOStatement, bindValue)
RETURN_FALSE;
}
- ZVAL_ADDREF(param.parameter);
+ Z_ADDREF_P(param.parameter);
if (!really_register_bound_param(&param, stmt, TRUE TSRMLS_CC)) {
if (param.parameter) {
zval_ptr_dtor(&(param.parameter));
@@ -1851,7 +1851,7 @@ int pdo_stmt_setup_fetch_mode(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, in
switch (stmt->default_fetch_type) {
case PDO_FETCH_INTO:
if (stmt->fetch.into) {
- ZVAL_DELREF(stmt->fetch.into);
+ Z_DELREF_P(stmt->fetch.into);
stmt->fetch.into = NULL;
}
break;
@@ -2532,8 +2532,8 @@ static zval *row_prop_or_dim_read(zval *object, zval *member, int type TSRMLS_DC
}
}
- return_value->refcount = 0;
- return_value->is_ref = 0;
+ Z_SET_REFCOUNT_P(return_value, 0);
+ Z_UNSET_ISREF_P(return_value);
return return_value;
}
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 0a402f6cb8..0ce79a14d3 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -276,8 +276,8 @@ static zval * reflection_instantiate(zend_class_entry *pce, zval *object TSRMLS_
}
Z_TYPE_P(object) = IS_OBJECT;
object_init_ex(object, pce);
- object->refcount = 1;
- object->is_ref = 1;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_SET_ISREF_P(object);
return object;
}
/* }}} */
@@ -2836,13 +2836,13 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue)
"Class %v does not have a property named %R", ce->name, name_type, name);
return;
}
- refcount = (*variable_ptr)->refcount;
- is_ref = (*variable_ptr)->is_ref;
+ refcount = Z_REFCOUNT_PP(variable_ptr);
+ is_ref = Z_ISREF_PP(variable_ptr);
zval_dtor(*variable_ptr);
**variable_ptr = *value;
zval_copy_ctor(*variable_ptr);
- (*variable_ptr)->refcount = refcount;
- (*variable_ptr)->is_ref = is_ref;
+ Z_SET_REFCOUNT_PP(variable_ptr, refcount);
+ Z_SET_ISREF_TO_PP(variable_ptr, is_ref);
}
/* }}} */
@@ -4150,7 +4150,7 @@ ZEND_METHOD(reflection_property, setValue)
zval_dtor(*variable_ptr);
(*variable_ptr)->type = value->type;
(*variable_ptr)->value = value->value;
- if (value->refcount > 0) {
+ if (Z_REFCOUNT_P(value) > 0) {
zval_copy_ctor(*variable_ptr);
}
setter_done = 1;
@@ -4159,7 +4159,7 @@ ZEND_METHOD(reflection_property, setValue)
if (!setter_done) {
zval **foo;
- value->refcount++;
+ Z_ADDREF_P(value);
if (PZVAL_IS_REF(value)) {
SEPARATE_ZVAL(&value);
}
diff --git a/ext/session/session.c b/ext/session/session.c
index 5b8885e69b..a95e784cb5 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -1502,7 +1502,7 @@ static PHP_FUNCTION(session_set_save_handler)
mdata = emalloc(sizeof(*mdata));
for (i = 0; i < 6; i++) {
- ZVAL_ADDREF(*args[i]);
+ Z_ADDREF_P(*args[i]);
mdata->names[i] = *args[i];
}
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index 50fe65bafd..8b054673ef 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -366,8 +366,8 @@ static zval * sxe_prop_dim_read(zval *object, zval *member, zend_bool elements,
}
}
- return_value->refcount = 0;
- return_value->is_ref = 0;
+ Z_SET_REFCOUNT_P(return_value, 0);
+ Z_UNSET_ISREF_P(return_value);
if (member == &tmp_zv) {
zval_dtor(&tmp_zv);
@@ -416,7 +416,7 @@ static void change_node_zval(xmlNodePtr node, zval *value TSRMLS_DC)
case IS_DOUBLE:
case IS_NULL:
case IS_UNICODE:
- if (value->refcount > 1) {
+ if (Z_REFCOUNT_P(value) > 1) {
value_copy = *value;
zval_copy_ctor(&value_copy);
value = &value_copy;
@@ -537,7 +537,7 @@ static void sxe_prop_dim_write(zval *object, zval *member, zval *value, zend_boo
case IS_DOUBLE:
case IS_NULL:
case IS_UNICODE:
- if (value->refcount > 1) {
+ if (Z_REFCOUNT_P(value) > 1) {
value_copy = *value;
zval_copy_ctor(&value_copy);
value = &value_copy;
@@ -722,7 +722,7 @@ static zval** sxe_property_get_adr(zval *object, zval *member TSRMLS_DC) /* {{{
zval_ptr_dtor(&sxe->tmp);
}
sxe->tmp = return_value;
- return_value->is_ref = 1;
+ Z_SET_ISREF_P(return_value);
return &sxe->tmp;
}
@@ -1745,8 +1745,8 @@ static int cast_object(zval *object, int type, char *contents, void *extra TSRML
} else {
ZVAL_NULL(object);
}
- object->refcount = 1;
- object->is_ref = 0;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_UNSET_ISREF_P(object);
switch (type) {
case IS_STRING:
@@ -1861,7 +1861,7 @@ static zval *sxe_get_value(zval *z TSRMLS_DC)
/* FIXME: Should not be fatal */
}
- retval->refcount = 0;
+ Z_SET_REFCOUNT_P(retval, 0);
return retval;
}
@@ -2255,7 +2255,7 @@ zend_object_iterator *php_sxe_get_iterator(zend_class_entry *ce, zval *object, i
}
iterator = emalloc(sizeof(php_sxe_iterator));
- object->refcount++;
+ Z_ADDREF_P(object);
iterator->intern.data = (void*)object;
iterator->intern.funcs = &php_sxe_iterator_funcs;
iterator->sxe = php_sxe_fetch_object(object TSRMLS_CC);
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 4b1a2634d7..532aa9c665 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -347,8 +347,8 @@ static zend_bool soap_check_xml_ref(zval **data, xmlNodePtr node TSRMLS_DC)
if (*data != *data_ptr) {
zval_ptr_dtor(data);
*data = *data_ptr;
- (*data)->is_ref = 1;
- (*data)->refcount++;
+ Z_SET_ISREF_PP(data);
+ Z_ADDREF_PP(data);
return 1;
}
} else {
@@ -1123,7 +1123,7 @@ static void set_zval_property(zval* object, char* name, zval* val TSRMLS_DC)
old_scope = EG(scope);
EG(scope) = Z_OBJCE_P(object);
- val->refcount--;
+ Z_DELREF_P(val);
add_property_zval(object, name, val);
EG(scope) = old_scope;
}
@@ -1554,7 +1554,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e
MAKE_STD_ZVAL(arr);
array_init(arr);
- prop->refcount++;
+ Z_ADDREF_P(prop);
add_next_index_zval(arr, prop);
set_zval_property(ret, (char*)trav->name, arr TSRMLS_CC);
prop = arr;
@@ -2785,18 +2785,18 @@ static zval *guess_zval_convert(encodeTypePtr type, xmlNodePtr data)
MAKE_STD_ZVAL(soapvar);
object_init_ex(soapvar, soap_var_class_entry);
add_property_long(soapvar, "enc_type", enc->details.type);
- ret->refcount--;
+ Z_DELREF_P(ret);
add_property_zval(soapvar, "enc_value", ret);
parse_namespace(type_name, &cptype, &ns);
nsptr = xmlSearchNs(data->doc, data, BAD_CAST(ns));
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, cptype TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(soapvar, "enc_stype", tmp);
if (nsptr) {
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, (char*)nsptr->href TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(soapvar, "enc_ns", tmp);
}
efree(cptype);
@@ -3528,7 +3528,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TS
zend_unicode_to_string_ex(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_stype), Z_USTRLEN_P(cur_stype), &status);
cur_stype = tmp;
} else {
- cur_stype->refcount++;
+ Z_ADDREF_P(cur_stype);
}
}
if (cur_ns) {
@@ -3541,7 +3541,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TS
zend_unicode_to_string_ex(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_ns), Z_USTRLEN_P(cur_ns), &status);
cur_ns = tmp;
} else {
- cur_ns->refcount++;
+ Z_ADDREF_P(cur_ns);
}
}
diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c
index f5cc66c790..c5ac604566 100644
--- a/ext/soap/php_packet_soap.c
+++ b/ext/soap/php_packet_soap.c
@@ -228,7 +228,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction
}
add_soap_fault(this_ptr, faultcode, faultstring, faultactor, details TSRMLS_CC);
if (details) {
- details->refcount--;
+ Z_DELREF_P(details);
}
xmlFreeDoc(response);
return FALSE;
@@ -402,7 +402,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction
zend_hash_internal_pointer_reset(Z_ARRVAL_P(return_value));
zend_hash_get_current_data(Z_ARRVAL_P(return_value), (void**)&tmp);
tmp = *(zval**)tmp;
- tmp->refcount++;
+ Z_ADDREF_P(tmp);
zval_dtor(return_value);
*return_value = *tmp;
FREE_ZVAL(tmp);
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 725d5d46a5..40207c383f 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -3223,7 +3223,7 @@ PHP_METHOD(SoapClient, __call)
soap_headers = emalloc(sizeof(HashTable));
zend_hash_init(soap_headers, 0, NULL, ZVAL_PTR_DTOR, 0);
zend_hash_next_index_insert(soap_headers, &headers, sizeof(zval*), NULL);
- ZVAL_ADDREF(headers);
+ Z_ADDREF_P(headers);
free_soap_headers = 1;
} else{
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header");
@@ -3243,7 +3243,7 @@ PHP_METHOD(SoapClient, __call)
}
zend_hash_internal_pointer_reset(default_headers);
while (zend_hash_get_current_data(default_headers, (void**)&tmp) == SUCCESS) {
- ZVAL_ADDREF(*tmp);
+ Z_ADDREF_P(*tmp);
zend_hash_next_index_insert(soap_headers, tmp, sizeof(zval *), NULL);
zend_hash_move_forward(default_headers);
}
@@ -3559,7 +3559,7 @@ PHP_METHOD(SoapClient, __setSoapHeaders)
instanceof_function(Z_OBJCE_P(headers), soap_header_class_entry TSRMLS_CC)) {
ALLOC_INIT_ZVAL(client->default_headers);
array_init(client->default_headers);
- headers->refcount++;
+ Z_ADDREF_P(headers);
add_next_index_zval(client->default_headers, headers);
} else{
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header");
@@ -3631,7 +3631,7 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
if (fault_string != NULL) {
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, fault_string TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(obj, "faultstring", tmp);
zend_update_property(zend_exception_get_default(TSRMLS_C), obj, "message", sizeof("message")-1, tmp TSRMLS_CC);
}
@@ -3641,11 +3641,11 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
if (fault_code_ns) {
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, fault_code TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(obj, "faultcode", tmp);
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, fault_code_ns TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(obj, "faultcodens", tmp);
} else {
if (soap_version == SOAP_1_1) {
@@ -3671,7 +3671,7 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
}
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, fault_code TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(obj, "faultcode", tmp);
}
}
@@ -3680,7 +3680,7 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
if (fault_actor != NULL) {
MAKE_STD_ZVAL(tmp);
soap_decode_string(tmp, fault_actor TSRMLS_CC);
- tmp->refcount--;
+ Z_DELREF_P(tmp);
add_property_zval(obj, "faultactor", tmp);
}
if (fault_detail != NULL) {
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index 23c26db518..5578faaeb9 100755
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -470,7 +470,7 @@ PHP_FUNCTION(spl_autoload_register)
memcpy(lc_name.s + func_name_len, &Z_OBJ_HANDLE_PP(obj_ptr), sizeof(zend_object_handle));
func_name_len += sizeof(zend_object_handle);
alfi.obj = *obj_ptr;
- alfi.obj->refcount++;
+ Z_ADDREF_P(alfi.obj);
if (Z_TYPE(zfunc_name) == IS_UNICODE) {
func_name_len /= sizeof(UChar);
Z_STRLEN(zfunc_name) = func_name_len;
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index da554af5f9..75bab2dc41 100755
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -152,11 +152,11 @@ static zend_object_value spl_array_object_new_ex(zend_class_entry *class_type, s
zend_hash_copy(HASH_OF(intern->array), HASH_OF(other->array), (copy_ctor_func_t) zval_add_ref, &tmp, sizeof(zval*));
}
if (Z_OBJ_HT_P(orig) == &spl_handler_ArrayIterator) {
- ZVAL_ADDREF(other->array);
+ Z_ADDREF_P(other->array);
}
} else {
intern->array = orig;
- ZVAL_ADDREF(intern->array);
+ Z_ADDREF_P(intern->array);
intern->ar_flags |= SPL_ARRAY_IS_REF | SPL_ARRAY_USE_OTHER;
}
} else {
@@ -321,22 +321,22 @@ static zval *spl_array_read_dimension_ex(int check_inherited, zval *object, zval
/* When in a write context,
* ZE has to be fooled into thinking this is in a reference set
* by separating (if necessary) and returning as an is_ref=1 zval (even if refcount == 1) */
- if ((type == BP_VAR_W || type == BP_VAR_RW) && !(*ret)->is_ref) {
- if ((*ret)->refcount > 1) {
+ if ((type == BP_VAR_W || type == BP_VAR_RW) && !Z_ISREF_PP(ret)) {
+ if (Z_REFCOUNT_PP(ret) > 1) {
zval *newval;
/* Separate */
MAKE_STD_ZVAL(newval);
*newval = **ret;
zval_copy_ctor(newval);
- newval->refcount = 1;
+ Z_SET_REFCOUNT_P(newval, 1);
/* Replace */
- (*ret)->refcount--;
+ Z_DELREF_PP(ret);
*ret = newval;
}
- (*ret)->is_ref = 1;
+ Z_SET_ISREF_PP(ret);
}
return *ret;
@@ -364,7 +364,7 @@ static void spl_array_write_dimension_ex(int check_inherited, zval *object, zval
}
if (!offset) {
- value->refcount++;
+ Z_ADDREF_P(value);
zend_hash_next_index_insert(spl_array_get_hash_table(intern, 0 TSRMLS_CC), (void**)&value, sizeof(void*), NULL);
return;
}
@@ -376,7 +376,7 @@ static void spl_array_write_dimension_ex(int check_inherited, zval *object, zval
zend_throw_exception(spl_ce_InvalidArgumentException, "An offset must not begin with \\0 or be empty", 0 TSRMLS_CC);
return;
}
- value->refcount++;
+ Z_ADDREF_P(value);
zend_u_symtable_update(spl_array_get_hash_table(intern, 0 TSRMLS_CC), Z_TYPE_P(offset), Z_UNIVAL_P(offset), Z_UNILEN_P(offset)+1, (void**)&value, sizeof(void*), NULL);
return;
case IS_DOUBLE:
@@ -388,11 +388,11 @@ static void spl_array_write_dimension_ex(int check_inherited, zval *object, zval
} else {
index = Z_LVAL_P(offset);
}
- value->refcount++;
+ Z_ADDREF_P(value);
zend_hash_index_update(spl_array_get_hash_table(intern, 0 TSRMLS_CC), index, (void**)&value, sizeof(void*), NULL);
return;
case IS_NULL:
- value->refcount++;
+ Z_ADDREF_P(value);
zend_hash_next_index_insert(spl_array_get_hash_table(intern, 0 TSRMLS_CC), (void**)&value, sizeof(void*), NULL);
return;
default:
@@ -913,7 +913,7 @@ zend_object_iterator *spl_array_get_iterator(zend_class_entry *ce, zval *object,
iterator = emalloc(sizeof(spl_array_it));
- object->refcount++;
+ Z_ADDREF_P(object);
iterator->intern.it.data = (void*)object;
iterator->intern.it.funcs = &spl_array_it_funcs;
iterator->intern.ce = ce;
@@ -982,7 +982,7 @@ SPL_METHOD(Array, __construct)
intern->ar_flags &= ~SPL_ARRAY_IS_SELF;
}
intern->ar_flags |= ar_flags;
- ZVAL_ADDREF(intern->array);
+ Z_ADDREF_P(intern->array);
if (Z_TYPE_PP(array) == IS_OBJECT) {
zend_object_get_properties_t handler = Z_OBJ_HANDLER_PP(array, get_properties);
if ((handler != std_object_handlers.get_properties && handler != spl_array_get_properties)
@@ -1089,7 +1089,7 @@ SPL_METHOD(Array, exchangeArray)
} else {
intern->ar_flags &= ~SPL_ARRAY_IS_SELF;
}
- ZVAL_ADDREF(intern->array);
+ Z_ADDREF_P(intern->array);
spl_array_rewind(intern TSRMLS_CC);
}
@@ -1111,8 +1111,8 @@ SPL_METHOD(Array, getIterator)
return_value->type = IS_OBJECT;
return_value->value.obj = spl_array_object_new_ex(intern->ce_get_iterator, &iterator, object, 0 TSRMLS_CC);
- return_value->refcount = 1;
- return_value->is_ref = 1;
+ Z_SET_REFCOUNT_P(return_value, 1);
+ Z_SET_ISREF_P(return_value);
}
/* }}} */
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index d13dfa7ea3..e6b66cfcfb 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -270,7 +270,7 @@ static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_inclu
/* avoid reference counting in debug mode, thus do it manually */
ZVAL_RESOURCE(&intern->u.file.zresource, php_stream_get_resource_id(intern->u.file.stream));
- intern->u.file.zresource.refcount = 1;
+ Z_SET_REFCOUNT(intern->u.file.zresource, 1);
intern->u.file.delimiter = ',';
intern->u.file.enclosure = '"';
@@ -1325,7 +1325,8 @@ zend_object_iterator *spl_filesystem_dir_get_iterator(zend_class_entry *ce, zval
dir_object = (spl_filesystem_object*)zend_object_store_get_object(object TSRMLS_CC);
iterator = spl_filesystem_object_to_iterator(dir_object);
- object->refcount += 2;
+ Z_ADDREF_P(object);
+ Z_ADDREF_P(object);
iterator->intern.data = (void*)object;
iterator->intern.funcs = &spl_filesystem_dir_it_funcs;
iterator->current = object;
@@ -1521,7 +1522,7 @@ zend_object_iterator *spl_filesystem_tree_get_iterator(zend_class_entry *ce, zva
dir_object = (spl_filesystem_object*)zend_object_store_get_object(object TSRMLS_CC);
iterator = spl_filesystem_object_to_iterator(dir_object);
- object->refcount++;
+ Z_ADDREF_P(object);
iterator->intern.data = (void*)object;
iterator->intern.funcs = &spl_filesystem_tree_it_funcs;
iterator->current = NULL;
diff --git a/ext/spl/spl_engine.c b/ext/spl/spl_engine.c
index 9404e8e24c..f1a0e21cdf 100755
--- a/ext/spl/spl_engine.c
+++ b/ext/spl/spl_engine.c
@@ -38,8 +38,8 @@ PHPAPI void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRM
ALLOC_ZVAL(*object);
}
object_init_ex(*object, pce);
- (*object)->refcount = 1;
- (*object)->is_ref = 1; /* check if this can be hold always */
+ Z_SET_REFCOUNT_P((*object), 1);
+ Z_SET_ISREF_PP(object); /* check if this can be hold always */
}
/* }}} */
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index 8fb31f8e6e..c983b4c879 100755
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -392,7 +392,7 @@ static zend_object_iterator *spl_recursive_it_get_iterator(zend_class_entry *ce,
iterator = emalloc(sizeof(spl_recursive_it_iterator));
object = (spl_recursive_it_object*)zend_object_store_get_object(zobject TSRMLS_CC);
- zobject->refcount++;
+ Z_ADDREF_P(zobject);
iterator->intern.data = (void*)object;
iterator->intern.funcs = ce->iterator_funcs.funcs;
iterator->zobject = zobject;
@@ -479,7 +479,7 @@ SPL_METHOD(RecursiveIteratorIterator, __construct)
ce_iterator = Z_OBJCE_P(iterator); /* respect inheritance, don't use spl_ce_RecursiveIterator */
intern->iterators[0].iterator = ce_iterator->get_iterator(ce_iterator, iterator, 0 TSRMLS_CC);
if (inc_refcount) {
- iterator->refcount++;
+ Z_ADDREF_P(iterator);
}
intern->iterators[0].zobject = iterator;
intern->iterators[0].ce = ce_iterator;
@@ -1045,7 +1045,7 @@ static spl_dual_it_object* spl_dual_it_construct(INTERNAL_FUNCTION_PARAMETERS, z
php_set_error_handling(EH_THROW, zend_exception_get_default(TSRMLS_C) TSRMLS_CC);
if (inc_refcount) {
- zobject->refcount++;
+ Z_ADDREF_P(zobject);
}
intern->inner.zobject = zobject;
intern->inner.ce = dit_type == DIT_IteratorIterator ? ce : Z_OBJCE_P(zobject);
@@ -1136,7 +1136,7 @@ static inline int spl_dual_it_fetch(spl_dual_it_object *intern, int check_more T
if (!check_more || spl_dual_it_valid(intern TSRMLS_CC) == SUCCESS) {
intern->inner.iterator->funcs->get_current_data(intern->inner.iterator, &data TSRMLS_CC);
intern->current.data = *data;
- intern->current.data->refcount++;
+ Z_ADDREF_P(intern->current.data);
if (intern->inner.iterator->funcs->get_current_key) {
intern->current.key_type = intern->inner.iterator->funcs->get_current_key(intern->inner.iterator, &intern->current.str_key, &intern->current.str_key_len, &intern->current.int_key TSRMLS_CC);
} else {
@@ -2093,7 +2093,7 @@ SPL_METHOD(CachingIterator, offsetSet)
return;
}
- value->refcount++;
+ Z_ADDREF_P(value);
zend_u_symtable_update(HASH_OF(intern->u.caching.zcache), type, arKey, nKeyLength+1, &value, sizeof(value), NULL);
}
/* }}} */
@@ -2551,7 +2551,7 @@ int spl_append_it_next_iterator(spl_dual_it_object *intern TSRMLS_DC) /* {{{*/
zval **it;
intern->u.append.iterator->funcs->get_current_data(intern->u.append.iterator, &it TSRMLS_CC);
- (*it)->refcount++;
+ Z_ADDREF_PP(it);
intern->inner.zobject = *it;
intern->inner.ce = Z_OBJCE_PP(it);
intern->inner.object = zend_object_store_get_object(*it TSRMLS_CC);
@@ -2749,7 +2749,7 @@ static int spl_iterator_to_array_apply(zend_object_iterator *iter, void *puser T
if (EG(exception)) {
return ZEND_HASH_APPLY_STOP;
}
- (*data)->refcount++;
+ Z_ADDREF_PP(data);
switch(key_type) {
case HASH_KEY_IS_STRING:
add_assoc_zval_ex(return_value, str_key.s, str_key_len, *data);
@@ -2764,7 +2764,7 @@ static int spl_iterator_to_array_apply(zend_object_iterator *iter, void *puser T
break;
}
} else {
- (*data)->refcount++;
+ Z_ADDREF_PP(data);
add_next_index_zval(return_value, *data);
}
return ZEND_HASH_APPLY_KEEP;
@@ -2779,7 +2779,7 @@ static int spl_iterator_to_values_apply(zend_object_iterator *iter, void *puser
if (EG(exception)) {
return ZEND_HASH_APPLY_STOP;
}
- (*data)->refcount++;
+ Z_ADDREF_PP(data);
add_next_index_zval(return_value, *data);
return ZEND_HASH_APPLY_KEEP;
}
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index c926dc0be6..90398a566b 100755
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -175,7 +175,7 @@ void spl_object_storage_attach(spl_SplObjectStorage *intern, zval *obj TSRMLS_DC
}
#endif
- obj->refcount++;
+ Z_ADDREF_P(obj);
} /* }}} */
/* {{{ proto void SplObjectStorage::attach($obj) U
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index b29c56cca2..e0c636dab3 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -703,7 +703,7 @@ static void php_sqlite_agg_step_function_callback(sqlite_func *func, int argc, c
if (*context_p == NULL) {
MAKE_STD_ZVAL(*context_p);
- (*context_p)->is_ref = 1;
+ Z_SET_ISREF_PP(context_p);
Z_TYPE_PP(context_p) = IS_NULL;
}
@@ -981,8 +981,8 @@ static zval * sqlite_instanciate(zend_class_entry *pce, zval *object TSRMLS_DC)
}
Z_TYPE_P(object) = IS_OBJECT;
object_init_ex(object, pce);
- object->refcount = 1;
- object->is_ref = 0;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_UNSET_ISREF_P(object);
return object;
}
@@ -1100,7 +1100,7 @@ zend_object_iterator *sqlite_get_iterator(zend_class_entry *ce, zval *object, in
iterator = emalloc(sizeof(sqlite_object_iterator));
- object->refcount++;
+ Z_ADDREF_P(object);
iterator->it.data = (void*)object;
iterator->it.funcs = ce->iterator_funcs.funcs;
iterator->res = obj->u.res;
@@ -1841,10 +1841,10 @@ PHP_FUNCTION(sqlite_fetch_column_types)
MAKE_STD_ZVAL(coltype);
ZVAL_U_STRING(SQLITE2_CONV, coltype, colnames[ncols + i] ? (char *)colnames[ncols + i] : "", ZSTR_DUPLICATE);
- coltype->refcount = 0;
+ Z_SET_REFCOUNT_P(coltype, 0);
if (result_type == PHPSQLITE_NUM) {
- ZVAL_ADDREF(coltype);
+ Z_ADDREF_P(coltype);
add_index_zval(return_value, i, coltype);
}
@@ -1887,14 +1887,14 @@ PHP_FUNCTION(sqlite_fetch_column_types)
}
}
- ZVAL_ADDREF(coltype);
+ Z_ADDREF_P(coltype);
add_u_assoc_zval_ex(return_value, colname_type, colname, colname_len + 1, coltype);
efree(colname.v);
}
- if (coltype->refcount <= 0) {
+ if (Z_REFCOUNT_P(coltype) <= 0) {
/* Shouldn't happen (and probably can't) */
- coltype->refcount = 1;
+ Z_SET_REFCOUNT_P(coltype, 1);
zval_ptr_dtor(&coltype);
}
}
@@ -2049,17 +2049,17 @@ static void php_sqlite_fetch_array(struct php_sqlite_result *res, int mode, zend
rowdata[j] = NULL;
}
}
- decoded->refcount = 0;
+ Z_SET_REFCOUNT_P(decoded, 0);
if (mode & PHPSQLITE_NUM) {
- ZVAL_ADDREF(decoded);
+ Z_ADDREF_P(decoded);
add_index_zval(return_value, j, decoded);
}
if ((mode & PHPSQLITE_ASSOC) || (!(mode & PHPSQLITE_NUM))) {
UChar *colname;
int colname_len;
- ZVAL_ADDREF(decoded);
+ Z_ADDREF_P(decoded);
if (UG(unicode) &&
SUCCESS == zend_string_to_unicode(SQLITE2_CONV, &colname, &colname_len, (char*)colnames[j], strlen((char*)colnames[j]) TSRMLS_CC)) {
diff --git a/ext/standard/array.c b/ext/standard/array.c
index f9b2eedbbf..eda9dfc88c 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1528,10 +1528,10 @@ PHP_FUNCTION(extract)
*orig_var = *entry;
} else {
- if (var_array->refcount > 1 || *entry == EG(uninitialized_zval_ptr)) {
+ if (Z_REFCOUNT_P(var_array) > 1 || *entry == EG(uninitialized_zval_ptr)) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(entry);
} else {
- (*entry)->is_ref = 1;
+ Z_SET_ISREF_PP(entry);
}
zval_add_ref(entry);
zend_u_hash_update(EG(active_symbol_table), Z_TYPE(final_name), Z_UNIVAL(final_name), Z_UNILEN(final_name)+1, (void **) entry, sizeof(zval *), NULL);
@@ -2014,7 +2014,7 @@ HashTable* php_splice(HashTable *in_hash, int offset, int length, zval ***list,
for (pos=0, p=in_hash->pListHead; pos<offset && p ; pos++, p=p->pListNext) {
/* Get entry and increase reference count */
entry = *((zval **)p->pData);
- entry->refcount++;
+ Z_ADDREF_P(entry);
/* Update output hash depending on key type */
if (p->nKeyLength == 0) {
@@ -2028,7 +2028,7 @@ HashTable* php_splice(HashTable *in_hash, int offset, int length, zval ***list,
if (removed != NULL) {
for ( ; pos<offset+length && p; pos++, p=p->pListNext) {
entry = *((zval **)p->pData);
- entry->refcount++;
+ Z_ADDREF_P(entry);
if (p->nKeyLength == 0) {
zend_hash_next_index_insert(*removed, &entry, sizeof(zval *), NULL);
} else {
@@ -2043,7 +2043,7 @@ HashTable* php_splice(HashTable *in_hash, int offset, int length, zval ***list,
/* ..for each one, create a new zval, copy entry into it and copy it into the output hash */
for (i=0; i<list_count; i++) {
entry = *list[i];
- entry->refcount++;
+ Z_ADDREF_P(entry);
zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL);
}
}
@@ -2051,7 +2051,7 @@ HashTable* php_splice(HashTable *in_hash, int offset, int length, zval ***list,
/* Copy the remaining input hash entries to the output hash */
for ( ; p ; p=p->pListNext) {
entry = *((zval **)p->pData);
- entry->refcount++;
+ Z_ADDREF_P(entry);
if (p->nKeyLength == 0) {
zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL);
} else {
@@ -2098,7 +2098,7 @@ PHP_FUNCTION(array_push)
/* For each subsequent argument, make it a reference, increase refcount, and add it to the end of the array */
for (i=1; i<argc; i++) {
new_var = *args[i];
- new_var->refcount++;
+ Z_ADDREF_P(new_var);
zend_hash_next_index_insert(Z_ARRVAL_P(stack), &new_var, sizeof(zval *), NULL);
}
@@ -2402,7 +2402,7 @@ PHPAPI int php_array_merge(HashTable *dest, HashTable *src, int recursive TSRMLS
ukey:
if (recursive &&
zend_u_hash_find(dest, utype, string_key, string_key_len, (void **)&dest_entry) == SUCCESS) {
- if (*src_entry == *dest_entry && ((*dest_entry)->refcount % 2)) {
+ if (*src_entry == *dest_entry && (Z_REFCOUNT_PP(dest_entry) % 2)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected");
return 0;
}
@@ -2415,7 +2415,7 @@ ukey:
Z_ARRVAL_PP(src_entry), recursive TSRMLS_CC))
return 0;
} else {
- (*src_entry)->refcount++;
+ Z_ADDREF_PP(src_entry);
zend_u_hash_update(dest, utype, string_key, string_key_len,
src_entry, sizeof(zval *), NULL);
@@ -2423,7 +2423,7 @@ ukey:
break;
case HASH_KEY_IS_LONG:
- (*src_entry)->refcount++;
+ Z_ADDREF_PP(src_entry);
zend_hash_next_index_insert(dest, src_entry, sizeof(zval *), NULL);
break;
}
@@ -3025,7 +3025,7 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa
}
}
if (ok) {
- (*((zval**)p->pData))->refcount++;
+ Z_ADDREF_PP((zval**)p->pData);
zend_hash_index_update(Z_ARRVAL_P(return_value), p->h, p->pData, sizeof(zval*), NULL);
}
} else {
@@ -3039,7 +3039,7 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa
}
}
if (ok) {
- (*((zval**)p->pData))->refcount++;
+ Z_ADDREF_PP((zval**)p->pData);
zend_u_hash_quick_update(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, p->pData, sizeof(zval*), NULL);
}
}
@@ -3458,7 +3458,7 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty
}
}
if (ok) {
- (*((zval**)p->pData))->refcount++;
+ Z_ADDREF_PP((zval**)p->pData);
zend_hash_index_update(Z_ARRVAL_P(return_value), p->h, p->pData, sizeof(zval*), NULL);
}
} else {
@@ -3472,7 +3472,7 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty
}
}
if (ok) {
- (*((zval**)p->pData))->refcount++;
+ Z_ADDREF_PP((zval**)p->pData);
zend_u_hash_quick_update(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, p->pData, sizeof(zval*), NULL);
}
}
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 9516f7027c..4b2d3b9eff 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -5324,7 +5324,7 @@ PHP_FUNCTION(register_shutdown_function)
}
for (i = 0; i < shutdown_function_entry.arg_count; i++) {
- shutdown_function_entry.arguments[i]->refcount++;
+ Z_ADDREF_P(shutdown_function_entry.arguments[i]);
}
zend_hash_next_index_insert(BG(user_shutdown_function_names), &shutdown_function_entry, sizeof(php_shutdown_function_entry), NULL);
}
@@ -5977,7 +5977,7 @@ PHP_FUNCTION(register_tick_function)
}
for (i = 0; i < tick_fe.arg_count; i++) {
- tick_fe.arguments[i]->refcount++;
+ Z_ADDREF_P(tick_fe.arguments[i]);
}
zend_llist_add_element(BG(user_tick_functions), &tick_fe);
@@ -6324,7 +6324,7 @@ static int copy_request_variable(void *pDest, int num_args, va_list args, zend_h
}
zend_u_delete_global_variable(Z_TYPE(new_key), Z_UNIVAL(new_key), Z_UNILEN(new_key) TSRMLS_CC);
- ZEND_U_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), Z_TYPE(new_key), Z_UNIVAL(new_key), Z_UNILEN(new_key) + 1, *var, (*var)->refcount+1, 0);
+ ZEND_U_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), Z_TYPE(new_key), Z_UNIVAL(new_key), Z_UNILEN(new_key) + 1, *var, Z_REFCOUNT_PP(var)+1, 0);
zval_dtor(&new_key);
return 0;
diff --git a/ext/standard/php_filestat.h b/ext/standard/php_filestat.h
index 1062fc7460..0fb9202b8c 100644
--- a/ext/standard/php_filestat.h
+++ b/ext/standard/php_filestat.h
@@ -62,7 +62,7 @@ PHP_FUNCTION(clearstatcache);
#define MAKE_LONG_ZVAL_INCREF(name, val)\
MAKE_STD_ZVAL(name); \
ZVAL_LONG(name, val); \
- name->refcount++;
+ Z_ADDREF_P(name);
#ifdef PHP_WIN32
#define S_IRUSR S_IREAD
diff --git a/ext/standard/scanf.c b/ext/standard/scanf.c
index c4e132640c..d0af5f75be 100644
--- a/ext/standard/scanf.c
+++ b/ext/standard/scanf.c
@@ -1201,11 +1201,11 @@ literal:
zend_uint refcount;
current = args[objIndex++];
- refcount = (*current)->refcount;
+ refcount = Z_REFCOUNT_PP(current);
zval_dtor( *current );
ZVAL_LONG( *current, (long)(string - baseString) );
- (*current)->refcount = refcount;
- (*current)->is_ref = 1;
+ Z_SET_REFCOUNT_PP(current, refcount);
+ Z_SET_ISREF_PP(current);
} else {
add_index_long(*return_value, objIndex++, string - baseString);
}
@@ -1325,11 +1325,11 @@ literal:
zend_uint refcount;
current = args[objIndex++];
- refcount = (*current)->refcount;
+ refcount = Z_REFCOUNT_PP(current);
zval_dtor( *current );
ZVAL_STRINGL( *current, string, end-string, 1);
- (*current)->refcount = refcount;
- (*current)->is_ref = 1;
+ Z_SET_REFCOUNT_PP(current, refcount);
+ Z_SET_ISREF_PP(current);
} else {
add_index_stringl( *return_value, objIndex++, string, end-string, 1);
}
@@ -1847,11 +1847,11 @@ literal:
zend_uint refcount;
current = args[objIndex++];
- refcount = (*current)->refcount;
+ refcount = Z_REFCOUNT_PP(current);
zval_dtor( *current );
ZVAL_LONG( *current, (long)(string - baseString) );
- (*current)->refcount = refcount;
- (*current)->is_ref = 1;
+ Z_SET_REFCOUNT_PP(current, refcount);
+ Z_SET_ISREF_PP(current);
} else {
add_index_long(*return_value, objIndex++, string - baseString);
}
@@ -1971,11 +1971,11 @@ literal:
zend_uint refcount;
current = args[objIndex++];
- refcount = (*current)->refcount;
+ refcount = Z_REFCOUNT_PP(current);
zval_dtor( *current );
ZVAL_UNICODEL( *current, string, end-string, 1);
- (*current)->refcount = refcount;
- (*current)->is_ref = 1;
+ Z_SET_REFCOUNT_PP(current, refcount);
+ Z_SET_ISREF_PP(current);
} else {
add_index_unicodel( *return_value, objIndex++, string, end-string, 1);
}
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index 69b3292abb..d30c7b8018 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -967,7 +967,7 @@ static int parse_context_params(php_stream_context *context, zval *params TSRMLS
context->notifier = php_stream_notification_alloc();
context->notifier->func = user_space_stream_notifier;
context->notifier->ptr = *tmp;
- ZVAL_ADDREF(*tmp);
+ Z_ADDREF_P(*tmp);
context->notifier->dtor = user_space_stream_notifier_dtor;
}
if (SUCCESS == zend_ascii_hash_find(Z_ARRVAL_P(params), "options", sizeof("options"), (void**)&tmp)) {
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 1a11bb2176..a11dec2afa 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -5666,7 +5666,7 @@ static void php_str_replace_common(INTERNAL_FUNCTION_PARAMETERS, int case_sensit
php_str_replace_in_subject(search, replace, subject_entry, result, case_sensitivity, (argc > 3) ? &count : NULL TSRMLS_CC);
} else {
ALLOC_ZVAL(result);
- ZVAL_ADDREF(*subject_entry);
+ Z_ADDREF_P(*subject_entry);
COPY_PZVAL_TO_ZVAL(*result, *subject_entry);
}
/* Add to return array */
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index 27966f748c..c2295c3625 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -336,8 +336,8 @@ static php_stream_filter *user_filter_factory_create(const char *filtername, zva
/* create the object */
ALLOC_ZVAL(obj);
object_init_ex(obj, fdat->ce);
- ZVAL_REFCOUNT(obj) = 1;
- PZVAL_IS_REF(obj) = 1;
+ Z_SET_REFCOUNT_P(obj, 1);
+ Z_SET_ISREF_P(obj);
/* filtername */
add_property_rt_string(obj, "filtername", (char*)filtername, 1);
diff --git a/ext/standard/var.c b/ext/standard/var.c
index abed4afc2f..3168e3dcbd 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -33,8 +33,7 @@
#include "basic_functions.h"
#include "php_incomplete_class.h"
-#define COMMON ((*struc)->is_ref ? "&" : "")
-#define Z_REFCOUNT_PP(a) ((*a)->refcount)
+#define COMMON (Z_ISREF_PP(struc) ? "&" : "")
/* }}} */
@@ -676,7 +675,7 @@ static inline int php_add_var_hash(HashTable *var_hash, zval *var, void *var_old
}
if (var_old && zend_hash_find(var_hash, p, len, var_old) == SUCCESS) {
- if (!var->is_ref) {
+ if (!Z_ISREF_P(var)) {
/* we still need to bump up the counter, since non-refs will
be counted separately by unserializer */
var_no = -1;
@@ -904,7 +903,7 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, HashTable *var
if (var_hash
&& php_add_var_hash(var_hash, struc, (void *) &var_already TSRMLS_CC) == FAILURE) {
- if(struc->is_ref) {
+ if(Z_ISREF_P(struc)) {
smart_str_appendl(buf, "R:", 2);
smart_str_append_long(buf, *var_already);
smart_str_appendc(buf, ';');
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
index a5300878fe..9ca6c54b36 100644
--- a/ext/standard/var_unserializer.c
+++ b/ext/standard/var_unserializer.c
@@ -76,7 +76,7 @@ static inline void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval)
prev->next = var_hash;
}
- (*rval)->refcount++;
+ Z_ADDREF_PP(rval);
var_hash->data[var_hash->used_slots++] = *rval;
}
@@ -1217,8 +1217,8 @@ yy99:
zval_ptr_dtor(rval);
}
*rval = *rval_ref;
- (*rval)->refcount++;
- (*rval)->is_ref = 0;
+ Z_ADDREF_PP(rval);
+ Z_UNSET_ISREF_PP(rval);
return 1;
}
@@ -1261,8 +1261,8 @@ yy105:
zval_ptr_dtor(rval);
}
*rval = *rval_ref;
- (*rval)->refcount++;
- (*rval)->is_ref = 1;
+ Z_ADDREF_PP(rval);
+ Z_SET_ISREF_PP(rval);
return 1;
}
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index 0aca9a657a..15daf57261 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -74,7 +74,7 @@ static inline void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval)
prev->next = var_hash;
}
- (*rval)->refcount++;
+ Z_ADDREF_PP(rval);
var_hash->data[var_hash->used_slots++] = *rval;
}
@@ -483,8 +483,8 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
zval_ptr_dtor(rval);
}
*rval = *rval_ref;
- (*rval)->refcount++;
- (*rval)->is_ref = 1;
+ Z_ADDREF_PP(rval);
+ Z_SET_ISREF_PP(rval);
return 1;
}
@@ -506,8 +506,8 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
zval_ptr_dtor(rval);
}
*rval = *rval_ref;
- (*rval)->refcount++;
- (*rval)->is_ref = 0;
+ Z_ADDREF_PP(rval);
+ Z_UNSET_ISREF_PP(rval);
return 1;
}
diff --git a/ext/sybase/php_sybase_db.c b/ext/sybase/php_sybase_db.c
index a7da813c3e..1da6038f50 100644
--- a/ext/sybase/php_sybase_db.c
+++ b/ext/sybase/php_sybase_db.c
@@ -1045,7 +1045,7 @@ PHP_FUNCTION(sybase_fetch_row)
array_init(return_value);
for (i=0; i<result->num_fields; i++) {
- ZVAL_ADDREF(result->data[result->cur_row][i]);
+ Z_ADDREF_P(result->data[result->cur_row][i]);
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &result->data[result->cur_row][i], sizeof(zval *), NULL);
}
result->cur_row++;
@@ -1079,9 +1079,9 @@ static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS)
array_init(return_value);
for (i=0; i<result->num_fields; i++) {
- ZVAL_ADDREF(result->data[result->cur_row][i]);
+ Z_ADDREF_P(result->data[result->cur_row][i]);
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &result->data[result->cur_row][i], sizeof(zval *), NULL);
- ZVAL_ADDREF(result->data[result->cur_row][i]);
+ Z_ADDREF_P(result->data[result->cur_row][i]);
zend_hash_update(Z_ARRVAL_P(return_value), result->fields[i].name, strlen(result->fields[i].name)+1, (void *) &result->data[result->cur_row][i], sizeof(zval *), NULL);
}
result->cur_row++;
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index c1d5480c3e..6141ff3080 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -1795,7 +1795,7 @@ static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int numerics)
zval_copy_ctor(tmp);
if (numerics) {
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL);
- tmp->refcount++;
+ Z_ADDREF_P(tmp);
}
if (zend_hash_exists(Z_ARRVAL_P(return_value), result->fields[i].name, strlen(result->fields[i].name)+1)) {
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index 9f0bedaaa4..9d6b2311d5 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -663,8 +663,8 @@ static zval * tidy_instanciate(zend_class_entry *pce, zval *object TSRMLS_DC)
Z_TYPE_P(object) = IS_OBJECT;
object_init_ex(object, pce);
- object->refcount = 1;
- object->is_ref = 1;
+ Z_SET_REFCOUNT_P(object, 1);
+ Z_SET_ISREF_P(object);
return object;
}
diff --git a/ext/unicode/unicode_iterators.c b/ext/unicode/unicode_iterators.c
index aaf060bbf3..ef663fb03d 100644
--- a/ext/unicode/unicode_iterators.c
+++ b/ext/unicode/unicode_iterators.c
@@ -928,7 +928,7 @@ static zend_object_iterator* text_iter_get_iterator(zend_class_entry *ce, zval *
}
iter_object = (text_iter_obj *) zend_object_store_get_object(object TSRMLS_CC);
- ZVAL_ADDREF(object);
+ Z_ADDREF_P(object);
iter_object->iter.data = (void *) object;
iter_object->iter.funcs = &text_iter_funcs;
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index 1954b37164..34d475a8d6 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -971,7 +971,7 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name)
zend_class_entry *old_scope = EG(scope);
EG(scope) = Z_OBJCE_P(ent2->data);
- ent1->data->refcount--;
+ Z_DELREF_P(ent1->data);
add_property_zval(ent2->data, ent1->varname, ent1->data);
EG(scope) = old_scope;
} else {
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c
index 0257ea5b5b..2d73b8a00f 100644
--- a/ext/xmlreader/php_xmlreader.c
+++ b/ext/xmlreader/php_xmlreader.c
@@ -172,7 +172,7 @@ zval *xmlreader_read_property(zval *object, zval *member, int type TSRMLS_DC)
ret = xmlreader_property_reader(obj, hnd, &retval TSRMLS_CC);
if (ret == SUCCESS) {
/* ensure we're creating a temporary variable */
- retval->refcount = 0;
+ Z_SET_REFCOUNT_P(retval, 0);
} else {
retval = EG(uninitialized_zval_ptr);
}
diff --git a/ext/xsl/xsltprocessor.c b/ext/xsl/xsltprocessor.c
index 01c3a0201b..3fb9f3dd96 100644
--- a/ext/xsl/xsltprocessor.c
+++ b/ext/xsl/xsltprocessor.c
@@ -700,7 +700,7 @@ PHP_FUNCTION(xsl_xsltprocessor_set_parameter)
convert_to_string_with_converter(*entry, UG(utf8_conv));
ALLOC_ZVAL(new_string);
- ZVAL_ADDREF(*entry);
+ Z_ADDREF_P(*entry);
COPY_PZVAL_TO_ZVAL(*new_string, *entry);
zend_hash_update(intern->parameter, string_key.s, tmp_len, &new_string, sizeof(zval*), NULL);
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index e443e16035..d2a71e5cdb 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -433,7 +433,7 @@ static zval* php_zip_read_property(zval *object, zval *member, int type TSRMLS_D
ret = php_zip_property_reader(obj, hnd, &retval, 1 TSRMLS_CC);
if (ret == SUCCESS) {
/* ensure we're creating a temporary variable */
- retval->refcount = 0;
+ Z_SET_REFCOUNT_P(retval, 0);
} else {
retval = EG(uninitialized_zval_ptr);
}
@@ -477,8 +477,8 @@ static int php_zip_has_property(zval *object, zval *member, int type TSRMLS_DC)
if (type == 2) {
retval = 1;
} else if (php_zip_property_reader(obj, hnd, &tmp, 1 TSRMLS_CC) == SUCCESS) {
- tmp->refcount = 1;
- tmp->is_ref = 0;
+ Z_SET_REFCOUNT_P(tmp, 1);
+ Z_UNSET_ISREF_P(tmp);
if (type == 1) {
retval = zend_is_true(tmp);
} else if (type == 0) {