From ca9190648d024117674e6d2b57b2403d81e97029 Mon Sep 17 00:00:00 2001 From: Michael Maclean Date: Thu, 25 Mar 2010 20:06:05 +0000 Subject: [PATCH] Remove some more calls to TSRMLS_FETCH() --- ext/soap/php_encoding.c | 120 ++++++++++++++++++------------------- ext/soap/php_encoding.h | 4 +- ext/soap/php_packet_soap.c | 18 +++--- ext/soap/soap.c | 29 +++++---- 4 files changed, 84 insertions(+), 87 deletions(-) diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 4b284b4881..2976d18dcc 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -358,11 +358,10 @@ static zend_bool soap_check_xml_ref(zval **data, xmlNodePtr node TSRMLS_DC) return 0; } -static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xmlNodePtr parent, int check_class_map) +static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xmlNodePtr parent, int check_class_map TSRMLS_DC) { xmlNodePtr node = NULL; int add_type = 0; - TSRMLS_FETCH(); /* Special handling of class SoapVar */ if (data && @@ -407,9 +406,9 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml } if (zend_hash_find(ht, "enc_value", sizeof("enc_value"), (void **)&zdata) == FAILURE) { - node = master_to_xml(enc, NULL, style, parent); + node = master_to_xml(enc, NULL, style, parent TSRMLS_CC); } else { - node = master_to_xml(enc, *zdata, style, parent); + node = master_to_xml(enc, *zdata, style, parent TSRMLS_CC); } if (style == SOAP_ENCODED || (SOAP_GLOBAL(sdl) && encode != enc)) { @@ -495,15 +494,14 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml return node; } -xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent) +xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent TSRMLS_DC) { - return master_to_xml_int(encode, data, style, parent, 1); + return master_to_xml_int(encode, data, style, parent, 1 TSRMLS_CC); } -static zval *master_to_zval_int(encodePtr encode, xmlNodePtr data) +static zval *master_to_zval_int(encodePtr encode, xmlNodePtr data TSRMLS_DC) { zval *ret = NULL; - TSRMLS_FETCH(); if (SOAP_GLOBAL(typemap)) { if (encode->details.type_str) { @@ -552,9 +550,8 @@ static zval *master_to_zval_int(encodePtr encode, xmlNodePtr data) return ret; } -zval *master_to_zval(encodePtr encode, xmlNodePtr data) +zval *master_to_zval(encodePtr encode, xmlNodePtr data TSRMLS_DC) { - TSRMLS_FETCH(); data = check_and_resolve_href(data); if (encode == NULL) { @@ -584,7 +581,7 @@ zval *master_to_zval(encodePtr encode, xmlNodePtr data) } } } - return master_to_zval_int(encode, data); + return master_to_zval_int(encode, data TSRMLS_CC); } xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent TSRMLS_DC) @@ -1264,7 +1261,7 @@ static void model_to_zval_any(zval *ret, xmlNodePtr node TSRMLS_DC) while (node != NULL) { if (get_zval_property(ret, (char*)node->name TSRMLS_CC) == NULL) { - zval* val = master_to_zval(get_conversion(XSD_ANYXML), node); + zval* val = master_to_zval(get_conversion(XSD_ANYXML), node TSRMLS_CC); if (any && Z_TYPE_P(any) != IS_ARRAY) { /* Convert into array */ @@ -1283,7 +1280,7 @@ static void model_to_zval_any(zval *ret, xmlNodePtr node TSRMLS_DC) if (Z_TYPE_P(val) == IS_STRING && *Z_STRVAL_P(val) == '<') { name = NULL; while (node->next != NULL) { - zval* val2 = master_to_zval(get_conversion(XSD_ANYXML), node->next); + zval* val2 = master_to_zval(get_conversion(XSD_ANYXML), node->next TSRMLS_CC); if (Z_TYPE_P(val2) != IS_STRING || *Z_STRVAL_P(val) != '<') { break; } @@ -1355,19 +1352,19 @@ static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr if (model->u.element->fixed && strcmp(model->u.element->fixed, (char*)r_node->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, r_node->children->content); } - val = master_to_zval(model->u.element->encode, r_node); + val = master_to_zval(model->u.element->encode, r_node TSRMLS_CC); } else if (model->u.element->fixed) { xmlNodePtr dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlNodeSetContent(dummy, BAD_CAST(model->u.element->fixed)); - val = master_to_zval(model->u.element->encode, dummy); + val = master_to_zval(model->u.element->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); } else if (model->u.element->def && !model->u.element->nillable) { xmlNodePtr dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlNodeSetContent(dummy, BAD_CAST(model->u.element->def)); - val = master_to_zval(model->u.element->encode, dummy); + val = master_to_zval(model->u.element->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); } else { - val = master_to_zval(model->u.element->encode, r_node); + val = master_to_zval(model->u.element->encode, r_node TSRMLS_CC); } if ((node = get_node(node->next, model->u.element->name)) != NULL) { zval *array; @@ -1380,19 +1377,19 @@ static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr if (model->u.element->fixed && strcmp(model->u.element->fixed, (char*)node->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, node->children->content); } - val = master_to_zval(model->u.element->encode, node); + val = master_to_zval(model->u.element->encode, node TSRMLS_CC); } else if (model->u.element->fixed) { xmlNodePtr dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlNodeSetContent(dummy, BAD_CAST(model->u.element->fixed)); - val = master_to_zval(model->u.element->encode, dummy); + val = master_to_zval(model->u.element->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); } else if (model->u.element->def && !model->u.element->nillable) { xmlNodePtr dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlNodeSetContent(dummy, BAD_CAST(model->u.element->def)); - val = master_to_zval(model->u.element->encode, dummy); + val = master_to_zval(model->u.element->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); } else { - val = master_to_zval(model->u.element->encode, node); + val = master_to_zval(model->u.element->encode, node TSRMLS_CC); } add_next_index_zval(array, val); } while ((node = get_node(node->next, model->u.element->name)) != NULL); @@ -1484,7 +1481,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e } object_init_ex(ret, ce); - base = master_to_zval_int(enc, data); + base = master_to_zval_int(enc, data TSRMLS_CC); set_zval_property(ret, "_", base TSRMLS_CC); } else { ALLOC_INIT_ZVAL(ret); @@ -1513,7 +1510,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e sdlType->encode->details.sdl_type->encode->details.type != SOAP_ENC_ARRAY))) { ret = to_zval_object_ex(&sdlType->encode->details, data, ce TSRMLS_CC); } else { - ret = master_to_zval_int(sdlType->encode, data); + ret = master_to_zval_int(sdlType->encode, data TSRMLS_CC); } FIND_XML_NULL(data, ret); if (soap_check_xml_ref(&ret, data TSRMLS_CC)) { @@ -1533,7 +1530,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e } object_init_ex(ret, ce); - base = master_to_zval_int(sdlType->encode, data); + base = master_to_zval_int(sdlType->encode, data TSRMLS_CC); set_zval_property(ret, "_", base TSRMLS_CC); } } else { @@ -1584,7 +1581,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); text = xmlNewText(BAD_CAST(str_val)); xmlAddChild(dummy, text); - data = master_to_zval((*attr)->encode, dummy); + data = master_to_zval((*attr)->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); set_zval_property(ret, (*attr)->name, data TSRMLS_CC); } @@ -1608,7 +1605,7 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e zval *tmpVal; zval *prop; - tmpVal = master_to_zval(NULL, trav); + tmpVal = master_to_zval(NULL, trav TSRMLS_CC); prop = get_zval_property(ret, (char*)trav->name TSRMLS_CC); if (!prop) { @@ -1682,7 +1679,7 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * xmlAddChild(node, property); set_xsi_nil(property); } else { - property = master_to_xml(enc, *val, style, node); + property = master_to_xml(enc, *val, style, node TSRMLS_CC); if (property->children && property->children->content && model->u.element->fixed && strcmp(model->u.element->fixed, (char*)property->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, property->children->content); @@ -1705,7 +1702,7 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * } else if (Z_TYPE_P(data) == IS_NULL && model->min_occurs == 0) { return 1; } else { - property = master_to_xml(enc, data, style, node); + property = master_to_xml(enc, data, style, node TSRMLS_CC); if (property->children && property->children->content && model->u.element->fixed && strcmp(model->u.element->fixed, (char*)property->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, property->children->content); @@ -1757,11 +1754,11 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * zend_hash_internal_pointer_reset(ht); while (zend_hash_get_current_data(ht,(void**)&val) == SUCCESS) { - property = master_to_xml(enc, *val, style, node); + property = master_to_xml(enc, *val, style, node TSRMLS_CC); zend_hash_move_forward(ht); } } else { - property = master_to_xml(enc, data, style, node); + property = master_to_xml(enc, data, style, node TSRMLS_CC); } return 1; } else if (model->min_occurs == 0) { @@ -1886,9 +1883,9 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo if (enc) { zval *tmp = get_zval_property(data, "_" TSRMLS_CC); if (tmp) { - xmlParam = master_to_xml(enc, tmp, style, parent); + xmlParam = master_to_xml(enc, tmp, style, parent TSRMLS_CC); } else if (prop == NULL) { - xmlParam = master_to_xml(enc, data, style, parent); + xmlParam = master_to_xml(enc, data, style, parent TSRMLS_CC); } else { xmlParam = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlAddChild(parent, xmlParam); @@ -1905,15 +1902,15 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) { if (prop) prop->nApplyCount++; - xmlParam = master_to_xml(sdlType->encode, data, style, parent); + xmlParam = master_to_xml(sdlType->encode, data, style, parent TSRMLS_CC); if (prop) prop->nApplyCount--; } else { zval *tmp = get_zval_property(data, "_" TSRMLS_CC); if (tmp) { - xmlParam = master_to_xml(sdlType->encode, tmp, style, parent); + xmlParam = master_to_xml(sdlType->encode, tmp, style, parent TSRMLS_CC); } else if (prop == NULL) { - xmlParam = master_to_xml(sdlType->encode, data, style, parent); + xmlParam = master_to_xml(sdlType->encode, data, style, parent TSRMLS_CC); } else { xmlParam = xmlNewNode(NULL, BAD_CAST("BOGUS")); xmlAddChild(parent, xmlParam); @@ -1945,7 +1942,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo xmlAddChild(xmlParam, property); set_xsi_nil(property); } else { - property = master_to_xml(array_el->encode, *val, style, xmlParam); + property = master_to_xml(array_el->encode, *val, style, xmlParam TSRMLS_CC); } xmlNodeSetName(property, BAD_CAST(array_el->name)); if (style == SOAP_LITERAL && @@ -1971,7 +1968,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo if (zattr) { xmlNodePtr dummy; - dummy = master_to_xml((*attr)->encode, zattr, SOAP_LITERAL, xmlParam); + dummy = master_to_xml((*attr)->encode, zattr, SOAP_LITERAL, xmlParam TSRMLS_CC); if (dummy->children && dummy->children->content) { if ((*attr)->fixed && strcmp((*attr)->fixed, (char*)dummy->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Attribute '%s' has fixed value '%s' (value '%s' is not allowed)", (*attr)->name, (*attr)->fixed, dummy->children->content); @@ -2022,7 +2019,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo key_type = zend_hash_get_current_key_ex(prop, &str_key, &str_key_len, &index, FALSE, NULL); zend_hash_get_current_data(prop, (void **)&zprop); - property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam); + property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam TSRMLS_CC); if (key_type == HASH_KEY_IS_STRING) { char *prop_name; @@ -2064,7 +2061,7 @@ static xmlNodePtr guess_array_map(encodeTypePtr type, zval *data, int style, xml enc = get_conversion(IS_NULL); } - return master_to_xml(enc, data, style, parent); + return master_to_xml(enc, data, style, parent TSRMLS_CC); } static int calc_dimension_12(const char* str) @@ -2167,7 +2164,8 @@ static void add_xml_array_elements(xmlNodePtr xmlParam, int dimension , int* dims, zval* data, - int style) + int style + TSRMLS_DC) { int j; @@ -2184,9 +2182,9 @@ static void add_xml_array_elements(xmlNodePtr xmlParam, if (zdata) { if (enc == NULL) { - xparam = master_to_xml(get_conversion((*zdata)->type), (*zdata), style, xmlParam); + xparam = master_to_xml(get_conversion((*zdata)->type), (*zdata), style, xmlParam TSRMLS_CC); } else { - xparam = master_to_xml(enc, (*zdata), style, xmlParam); + xparam = master_to_xml(enc, (*zdata), style, xmlParam TSRMLS_CC); } } else { xparam = xmlNewNode(NULL, BAD_CAST("BOGUS")); @@ -2203,9 +2201,9 @@ static void add_xml_array_elements(xmlNodePtr xmlParam, } } else { if (zdata) { - add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, *zdata, style); + add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, *zdata, style TSRMLS_CC); } else { - add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style); + add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style TSRMLS_CC); } } zend_hash_move_forward(data->value.ht); @@ -2226,7 +2224,7 @@ static void add_xml_array_elements(xmlNodePtr xmlParam, xmlNodeSetName(xparam, BAD_CAST("item")); } } else { - add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style); + add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style TSRMLS_CC); } } } @@ -2506,7 +2504,7 @@ iterator_done: smart_str_free(&array_type); smart_str_free(&array_size); - add_xml_array_elements(xmlParam, element_type, enc, enc?encode_add_ns(xmlParam,enc->details.ns):NULL, dimension, dims, data, style); + add_xml_array_elements(xmlParam, element_type, enc, enc?encode_add_ns(xmlParam,enc->details.ns):NULL, dimension, dims, data, style TSRMLS_CC); efree(dims); } if (style == SOAP_ENCODED) { @@ -2689,7 +2687,7 @@ static zval *to_zval_array(encodeTypePtr type, xmlNodePtr data TSRMLS_DC) zval *tmpVal, *ar; xmlAttrPtr position = get_attribute(trav->properties,"position"); - tmpVal = master_to_zval(enc, trav); + tmpVal = master_to_zval(enc, trav TSRMLS_CC); if (position != NULL && position->children && position->children->content) { char* tmp = strrchr((char*)position->children->content, '['); if (tmp == NULL) { @@ -2782,7 +2780,7 @@ static xmlNodePtr to_xml_map(encodeTypePtr type, zval *data, int style, xmlNodeP smart_str_free(&tmp); } - xparam = master_to_xml(get_conversion((*temp_data)->type), (*temp_data), style, item); + xparam = master_to_xml(get_conversion((*temp_data)->type), (*temp_data), style, item TSRMLS_CC); xmlNodeSetName(xparam, BAD_CAST("value")); zend_hash_move_forward(data->value.ht); @@ -2819,8 +2817,8 @@ static zval *to_zval_map(encodeTypePtr type, xmlNodePtr data TSRMLS_DC) soap_error0(E_ERROR, "Encoding: Can't decode apache map, missing value"); } - key = master_to_zval(NULL, xmlKey); - value = master_to_zval(NULL, xmlValue); + key = master_to_zval(NULL, xmlKey TSRMLS_CC); + value = master_to_zval(NULL, xmlValue TSRMLS_CC); if (Z_TYPE_P(key) == IS_STRING) { zend_symtable_update(Z_ARRVAL_P(ret), Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &value, sizeof(zval *), NULL); @@ -2849,7 +2847,7 @@ static xmlNodePtr guess_xml_convert(encodeTypePtr type, zval *data, int style, x } else { enc = get_conversion(IS_NULL); } - ret = master_to_xml_int(enc, data, style, parent, 0); + ret = master_to_xml_int(enc, data, style, parent, 0 TSRMLS_CC); /* if (style == SOAP_LITERAL && SOAP_GLOBAL(sdl)) { set_ns_and_type(ret, &enc->details); @@ -2916,7 +2914,7 @@ static zval *guess_zval_convert(encodeTypePtr type, xmlNodePtr data TSRMLS_DC) } } } - ret = master_to_zval_int(enc, data); + ret = master_to_zval_int(enc, data TSRMLS_CC); if (SOAP_GLOBAL(sdl) && type_name && enc->details.sdl_type) { zval* soapvar; char *ns, *cptype; @@ -3079,7 +3077,7 @@ static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style, xmlNodeP zend_hash_internal_pointer_reset(ht); while (zend_hash_get_current_data(ht, (void**)&tmp) == SUCCESS) { - xmlNodePtr dummy = master_to_xml(list_enc, *tmp, SOAP_LITERAL, ret); + xmlNodePtr dummy = master_to_xml(list_enc, *tmp, SOAP_LITERAL, ret TSRMLS_CC); if (dummy && dummy->children && dummy->children->content) { if (list.len != 0) { smart_str_appendc(&list, ' '); @@ -3118,7 +3116,7 @@ static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style, xmlNodeP next++; } ZVAL_STRING(&dummy_zval, start, 0); - dummy = master_to_xml(list_enc, &dummy_zval, SOAP_LITERAL, ret); + dummy = master_to_xml(list_enc, &dummy_zval, SOAP_LITERAL, ret TSRMLS_CC); if (dummy && dummy->children && dummy->children->content) { if (list.len != 0) { smart_str_appendc(&list, ' '); @@ -3175,7 +3173,7 @@ static zval *to_zval_any(encodeTypePtr type, xmlNodePtr data TSRMLS_DC) if (zend_hash_find(SOAP_GLOBAL(sdl)->elements, nscat.c, nscat.len+1, (void **)&sdl_type) == SUCCESS && (*sdl_type)->encode) { smart_str_free(&nscat); - return master_to_zval_int((*sdl_type)->encode, data); + return master_to_zval_int((*sdl_type)->encode, data TSRMLS_CC); } smart_str_free(&nscat); } @@ -3203,7 +3201,7 @@ static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodeP for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(data), &pos); zend_hash_get_current_data_ex(Z_ARRVAL_P(data), (void **) &el, &pos) == SUCCESS; zend_hash_move_forward_ex(Z_ARRVAL_P(data), &pos)) { - ret = master_to_xml(enc, *el, style, parent); + ret = master_to_xml(enc, *el, style, parent TSRMLS_CC); if (ret && ret->name != xmlStringTextNoenc && zend_hash_get_current_key_ex(Z_ARRVAL_P(data), &name, &name_len, &idx, 0, &pos) == HASH_KEY_IS_STRING) { @@ -3278,7 +3276,7 @@ zval *sdl_guess_convert_zval(encodeTypePtr enc, xmlNodePtr data TSRMLS_DC) switch (type->kind) { case XSD_TYPEKIND_SIMPLE: if (type->encode && enc != &type->encode->details) { - return master_to_zval_int(type->encode, data); + return master_to_zval_int(type->encode, data TSRMLS_CC); } else { return guess_zval_convert(enc, data TSRMLS_CC); } @@ -3342,7 +3340,7 @@ xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval *data, int style, xmlNo switch(type->kind) { case XSD_TYPEKIND_SIMPLE: if (type->encode && enc != &type->encode->details) { - ret = master_to_xml(type->encode, data, style, parent); + ret = master_to_xml(type->encode, data, style, parent TSRMLS_CC); } else { ret = guess_xml_convert(enc, data, style, parent TSRMLS_CC); } @@ -3485,7 +3483,7 @@ xmlNsPtr encode_add_ns(xmlNodePtr node, const char* ns) } if (xmlns == NULL) { xmlChar* prefix; - TSRMLS_FETCH(); + TSRMLS_FETCH(); if (zend_hash_find(&SOAP_GLOBAL(defEncNs), (char*)ns, strlen(ns) + 1, (void **)&prefix) == SUCCESS) { xmlns = xmlNewNs(node->doc->children, BAD_CAST(ns), prefix); @@ -3663,7 +3661,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TS smart_str array_type = {0}; if (cur_ns) { - xmlNsPtr ns = encode_add_ns(node,cur_ns); + xmlNsPtr ns = encode_add_ns(node, cur_ns); smart_str_appends(type, (char*)ns->prefix); smart_str_appendc(type, ':'); @@ -3699,7 +3697,7 @@ static void get_type_str(xmlNodePtr node, const char* ns, const char* type, smar strcmp(ns,SOAP_1_2_ENC_NAMESPACE) == 0) { ns = SOAP_1_1_ENC_NAMESPACE; } - xmlns = encode_add_ns(node,ns); + xmlns = encode_add_ns(node, ns); smart_str_appends(ret, (char*)xmlns->prefix); smart_str_appendc(ret, ':'); } diff --git a/ext/soap/php_encoding.h b/ext/soap/php_encoding.h index f22922ab92..bc2fa8af53 100644 --- a/ext/soap/php_encoding.h +++ b/ext/soap/php_encoding.h @@ -188,8 +188,8 @@ struct _encode { }; /* Master functions all encode/decode should be called thur these functions */ -xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent); -zval *master_to_zval(encodePtr encode, xmlNodePtr data); +xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent TSRMLS_DC); +zval *master_to_zval(encodePtr encode, xmlNodePtr data TSRMLS_DC); /* user defined mapping */ xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent TSRMLS_DC); diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c index b684422f72..74cf7bc69a 100644 --- a/ext/soap/php_packet_soap.c +++ b/ext/soap/php_packet_soap.c @@ -191,21 +191,21 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction tmp = get_node(fault->children, "faultstring"); if (tmp != NULL && tmp->children != NULL) { - zval *zv = master_to_zval(get_conversion(IS_STRING), tmp); + zval *zv = master_to_zval(get_conversion(IS_STRING), tmp TSRMLS_CC); faultstring = Z_STRVAL_P(zv); FREE_ZVAL(zv); } tmp = get_node(fault->children, "faultactor"); if (tmp != NULL && tmp->children != NULL) { - zval *zv = master_to_zval(get_conversion(IS_STRING), tmp); + zval *zv = master_to_zval(get_conversion(IS_STRING), tmp TSRMLS_CC); faultactor = Z_STRVAL_P(zv); FREE_ZVAL(zv); } tmp = get_node(fault->children, "detail"); if (tmp != NULL) { - details = master_to_zval(NULL, tmp); + details = master_to_zval(NULL, tmp TSRMLS_CC); } } else { tmp = get_node(fault->children, "Code"); @@ -221,7 +221,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction /* TODO: lang attribute */ tmp = get_node(tmp->children,"Text"); if (tmp != NULL && tmp->children != NULL) { - zval *zv = master_to_zval(get_conversion(IS_STRING), tmp); + zval *zv = master_to_zval(get_conversion(IS_STRING), tmp TSRMLS_CC); faultstring = Z_STRVAL_P(zv); FREE_ZVAL(zv); } @@ -229,7 +229,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction tmp = get_node(fault->children,"Detail"); if (tmp != NULL) { - details = master_to_zval(NULL, tmp); + details = master_to_zval(NULL, tmp TSRMLS_CC); } } add_soap_fault(this_ptr, faultcode, faultstring, faultactor, details TSRMLS_CC); @@ -327,9 +327,9 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction } else { /* Decoding value of parameter */ if (param != NULL) { - tmp = master_to_zval(param->encode, val); + tmp = master_to_zval(param->encode, val TSRMLS_CC); } else { - tmp = master_to_zval(NULL, val); + tmp = master_to_zval(NULL, val TSRMLS_CC); } } add_assoc_zval(return_value, param->paramName, tmp); @@ -352,7 +352,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction zval *tmp; zval **arr; - tmp = master_to_zval(NULL, val); + tmp = master_to_zval(NULL, val TSRMLS_CC); if (val->name) { if (zend_hash_find(Z_ARRVAL_P(return_value), (char*)val->name, strlen((char*)val->name)+1, (void**)&arr) == SUCCESS) { add_next_index_zval(*arr, tmp); @@ -416,7 +416,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction } smart_str_free(&key); } - val = master_to_zval(enc, trav); + val = master_to_zval(enc, trav TSRMLS_CC); add_assoc_zval(soap_headers, (char*)trav->name, val); } trav = trav->next; diff --git a/ext/soap/soap.c b/ext/soap/soap.c index ff430cabd5..0ac0596f0e 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -3470,7 +3470,7 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha } } -static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, int *num_params, zval ***parameters) +static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, int *num_params, zval ***parameters TSRMLS_DC) { int cur_param = 0,num_of_params = 0; zval **tmp_parameters = NULL; @@ -3501,7 +3501,7 @@ static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, i MAKE_STD_ZVAL(tmp_parameters[cur_param]); ZVAL_NULL(tmp_parameters[cur_param]); } else { - tmp_parameters[cur_param] = master_to_zval((*param)->encode, val); + tmp_parameters[cur_param] = master_to_zval((*param)->encode, val TSRMLS_CC); } cur_param++; @@ -3531,7 +3531,7 @@ static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, i ((sdlSoapBindingFunctionPtr)function->bindingAttributes)->style == SOAP_DOCUMENT && (function->requestParameters == NULL || zend_hash_num_elements(function->requestParameters) == 0) && - strcmp(params->name, function->functionName) == 0) { + strcmp((char *)params->name, function->functionName) == 0) { num_of_params = 0; } else if (num_of_params > 0) { tmp_parameters = safe_emalloc(num_of_params, sizeof(zval *), 0); @@ -3551,7 +3551,7 @@ static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, i } else { enc = (*param)->encode; } - tmp_parameters[cur_param] = master_to_zval(enc, trav); + tmp_parameters[cur_param] = master_to_zval(enc, trav TSRMLS_CC); cur_param++; } trav = trav->next; @@ -3559,7 +3559,6 @@ static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, i } } if (num_of_params > cur_param) { - TSRMLS_FETCH(); soap_server_fault("Client","Missing parameter", NULL, NULL, NULL TSRMLS_CC); } (*parameters) = tmp_parameters; @@ -3820,7 +3819,7 @@ static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, c if (h->hdr) { h->num_params = 1; h->parameters = emalloc(sizeof(zval*)); - h->parameters[0] = master_to_zval(h->hdr->encode, hdr_func); + h->parameters[0] = master_to_zval(h->hdr->encode, hdr_func TSRMLS_CC); } else { if (h->function && h->function->binding && h->function->binding->bindingType == BINDING_SOAP) { sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)h->function->bindingAttributes; @@ -3828,7 +3827,7 @@ static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, c hdr_func = hdr_func->children; } } - deserialize_parameters(hdr_func, h->function, &h->num_params, &h->parameters); + deserialize_parameters(hdr_func, h->function, &h->num_params, &h->parameters TSRMLS_CC); } INIT_ZVAL(h->retval); if (last == NULL) { @@ -3851,7 +3850,7 @@ ignore_header: } else { func = func->children; } - deserialize_parameters(func, function, num_params, parameters); + deserialize_parameters(func, function, num_params, parameters TSRMLS_CC); encode_finish(); @@ -4045,7 +4044,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function use = SOAP_ENCODED; } } else { - xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head); + xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head TSRMLS_CC); if (hdr_name) { xmlNodeSetName(xmlHdr, BAD_CAST(hdr_name)); } @@ -4126,11 +4125,11 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function efree(str); } if (zend_hash_find(prop, "faultstring", sizeof("faultstring"), (void**)&tmp) == SUCCESS) { - xmlNodePtr node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, param); + xmlNodePtr node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, param TSRMLS_CC); xmlNodeSetName(node, BAD_CAST("faultstring")); } if (zend_hash_find(prop, "faultactor", sizeof("faultactor"), (void**)&tmp) == SUCCESS) { - xmlNodePtr node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, param); + xmlNodePtr node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, param TSRMLS_CC); xmlNodeSetName(node, BAD_CAST("faultactor")); } detail_name = "detail"; @@ -4152,7 +4151,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function } if (zend_hash_find(prop, "faultstring", sizeof("faultstring"), (void**)&tmp) == SUCCESS) { xmlNodePtr node = xmlNewChild(param, ns, BAD_CAST("Reason"), NULL); - node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, node); + node = master_to_xml(get_conversion(IS_STRING), *tmp, SOAP_LITERAL, node TSRMLS_CC); xmlNodeSetName(node, BAD_CAST("Text")); xmlSetNs(node, ns); } @@ -4270,7 +4269,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function use = SOAP_ENCODED; } } else { - xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head); + xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head TSRMLS_CC); if (hdr_name) { xmlNodeSetName(xmlHdr, BAD_CAST(hdr_name)); } @@ -4475,7 +4474,7 @@ static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function } if (zend_hash_find(ht, "data", sizeof("data"), (void**)&tmp) == SUCCESS) { - h = master_to_xml(enc, *tmp, hdr_use, head); + h = master_to_xml(enc, *tmp, hdr_use, head TSRMLS_CC); xmlNodeSetName(h, BAD_CAST(Z_STRVAL_PP(name))); } else { h = xmlNewNode(NULL, BAD_CAST(Z_STRVAL_PP(name))); @@ -4595,7 +4594,7 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char *paramName, } else { enc = NULL; } - xmlParam = master_to_xml(enc, val, style, parent); + xmlParam = master_to_xml(enc, val, style, parent TSRMLS_CC); if (!strcmp((char*)xmlParam->name, "BOGUS")) { xmlNodeSetName(xmlParam, BAD_CAST(paramName)); } -- 2.40.0