summaryrefslogtreecommitdiff
path: root/ext/soap
diff options
context:
space:
mode:
authorYiduo (David) Wang <davidw@php.net>2007-10-07 05:15:07 +0000
committerYiduo (David) Wang <davidw@php.net>2007-10-07 05:15:07 +0000
commit95da0dc5700ee9d41f1e5664c8167cd37023dbd3 (patch)
treee4c6288af1a3f260bbd705c83c397741233d60ea /ext/soap
parentd20f6ecac8e2db5b0595c4fdef4cae221594ab88 (diff)
downloadphp-git-95da0dc5700ee9d41f1e5664c8167cd37023dbd3.tar.gz
Added macros for managing zval refcounts and is_ref statuses
Diffstat (limited to 'ext/soap')
-rw-r--r--ext/soap/php_encoding.c18
-rw-r--r--ext/soap/php_packet_soap.c4
-rw-r--r--ext/soap/soap.c16
3 files changed, 19 insertions, 19 deletions
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) {