diff options
| author | Yiduo (David) Wang <davidw@php.net> | 2007-10-07 05:15:07 +0000 |
|---|---|---|
| committer | Yiduo (David) Wang <davidw@php.net> | 2007-10-07 05:15:07 +0000 |
| commit | 95da0dc5700ee9d41f1e5664c8167cd37023dbd3 (patch) | |
| tree | e4c6288af1a3f260bbd705c83c397741233d60ea /ext/soap | |
| parent | d20f6ecac8e2db5b0595c4fdef4cae221594ab88 (diff) | |
| download | php-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.c | 18 | ||||
| -rw-r--r-- | ext/soap/php_packet_soap.c | 4 | ||||
| -rw-r--r-- | ext/soap/soap.c | 16 |
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) { |
