]> granicus.if.org Git - php/commitdiff
TSRM fixes
authorMarcus Boerger <helly@php.net>
Mon, 2 Feb 2004 21:27:13 +0000 (21:27 +0000)
committerMarcus Boerger <helly@php.net>
Mon, 2 Feb 2004 21:27:13 +0000 (21:27 +0000)
ext/soap/php_encoding.c
ext/soap/php_http.c
ext/soap/soap.c

index 12d0ca0395e59d5d421ad1be3e721f24a814540c..ca21504ed265d356dec0448e6cb94d7f84c1685e 100644 (file)
@@ -2329,13 +2329,14 @@ static xmlNodePtr check_and_resolve_href(xmlNodePtr data)
                href = get_attribute_ex(data->properties, "ref", SOAP_1_2_ENC_NAMESPACE);
                if (href) {
                        char* id;
+            xmlNodePtr ret;
 
                        if (href->children->content[0] == '#') {
                                id = href->children->content+1;
                        } else {
                                id = href->children->content;
                        }
-                       xmlNodePtr ret = get_node_with_attribute_recursive_ex(data->doc->children, NULL, NULL, "id", id, SOAP_1_2_ENC_NAMESPACE);
+                       ret = get_node_with_attribute_recursive_ex(data->doc->children, NULL, NULL, "id", id, SOAP_1_2_ENC_NAMESPACE);
                        if (!ret) {
                                php_error(E_ERROR,"SOAP-ERROR: Encoding: Unresolved reference '%s'",href->children->content);
                        } else if (ret == data) {
index 3073ea73b8ea31215864ba8d16b65847830c241e..fc82fabe67ede7bfd72da0229f996538e21b3a6a 100644 (file)
@@ -59,6 +59,8 @@ static int stream_alive(php_stream *stream  TSRMLS_DC)
 static void proxy_authentication(zval* this_ptr, smart_str* soap_headers)
 {
        zval **login, **password;
+       TSRMLS_FETCH();
+
        if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_login", sizeof("_proxy_login"), (void **)&login) == SUCCESS) {
                char* buf;
                int len;
index 64d01f8fcf3782e9769783cdcf7ea1b83ff77db7..c44353df7445d77ff1e5a5c41740583374badb4f 100644 (file)
@@ -45,7 +45,7 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level);
 
 static void clear_soap_fault(zval *obj TSRMLS_DC);
 static void set_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail TSRMLS_DC);
-static void soap_server_fault(char* code, char* string, char *actor, zval* details);
+static void soap_server_fault(char* code, char* string, char *actor, zval* details TSRMLS_DC);
 
 static sdlParamPtr get_param(sdlFunctionPtr function, char *param_name, int index, int);
 static sdlFunctionPtr get_function(sdlPtr sdl, const char *function_name);
@@ -1150,7 +1150,7 @@ PHP_METHOD(soapserver, handle)
 
                                header = header->next;
                                if (service->sdl && !h->function && h->mustUnderstand) {
-                                       soap_server_fault("MustUnderstand","Header not understood", NULL, NULL);
+                                       soap_server_fault("MustUnderstand","Header not understood", NULL, NULL TSRMLS_CC);
                                }
 
                                fn_name = estrndup(Z_STRVAL(h->function_name),Z_STRLEN(h->function_name));
@@ -1164,7 +1164,7 @@ PHP_METHOD(soapserver, handle)
                                                php_error(E_ERROR, "Function '%s' call failed", Z_STRVAL(function_name));
                                        }
                                } else if (h->mustUnderstand) {
-                                       soap_server_fault("MustUnderstand","Header not understood", NULL, NULL);
+                                       soap_server_fault("MustUnderstand","Header not understood", NULL, NULL TSRMLS_CC);
                                }
                                efree(fn_name);
                        }
@@ -1266,14 +1266,13 @@ PHP_METHOD(soapserver, handle)
        SOAP_SERVER_END_CODE();
 }
 
-static void soap_server_fault(char* code, char* string, char *actor, zval* details)
+static void soap_server_fault(char* code, char* string, char *actor, zval* details TSRMLS_DC)
 {
        int soap_version;
        xmlChar *buf, cont_len[30];
        int size;
        zval ret;
        xmlDocPtr doc_return;
-       TSRMLS_FETCH();
 
        soap_version = SOAP_GLOBAL(soap_version);
 
@@ -1956,7 +1955,7 @@ static sdlFunctionPtr deseralize_function_call(sdlPtr sdl, xmlDocPtr request, ch
                                envelope_ns = SOAP_1_2_ENV_NAMESPACE;
                                SOAP_GLOBAL(soap_version) = SOAP_1_2;
                        } else {
-                               soap_server_fault("VersionMismatch","Wrong Version", NULL, NULL);
+                               soap_server_fault("VersionMismatch","Wrong Version", NULL, NULL TSRMLS_CC);
                        }
                }
                trav = trav->next;
@@ -2048,18 +2047,18 @@ static sdlFunctionPtr deseralize_function_call(sdlPtr sdl, xmlDocPtr request, ch
                if (*version == SOAP_1_1) {
                        attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_1_ENV_NAMESPACE);
                        if (attr && strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
-                               soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL);
+                               soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL TSRMLS_CC);
                        }
                } else {
                        attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_2_ENV_NAMESPACE);
                        if (attr && strcmp(attr->children->content,SOAP_1_2_ENC_NAMESPACE) != 0) {
-                               soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL);
+                               soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL TSRMLS_CC);
                        }
                }
                function = find_function(sdl, func, function_name);
                if (sdl != NULL && function == NULL) {
                        if (*version == SOAP_1_2) {
-                               soap_server_fault("rpc:ProcedureNotPresent","Procedure not present", NULL, NULL);
+                               soap_server_fault("rpc:ProcedureNotPresent","Procedure not present", NULL, NULL TSRMLS_CC);
                        } else {
                                php_error(E_ERROR, "Procedure '%s' not present", func->name);
                        }
@@ -2093,7 +2092,7 @@ static sdlFunctionPtr deseralize_function_call(sdlPtr sdl, xmlDocPtr request, ch
                                if (*version == SOAP_1_1) {
                                        attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_1_ENV_NAMESPACE);
                                        if (attr && strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
-                                               soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL);
+                                               soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL TSRMLS_CC);
                                        }
                                        attr = get_attribute_ex(func->properties,"actor",envelope_ns);
                                        if (attr != NULL) {
@@ -2105,7 +2104,7 @@ static sdlFunctionPtr deseralize_function_call(sdlPtr sdl, xmlDocPtr request, ch
                                } else if (*version == SOAP_1_2) {
                                        attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_2_ENV_NAMESPACE);
                                        if (attr && strcmp(attr->children->content,SOAP_1_2_ENC_NAMESPACE) != 0) {
-                                               soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL);
+                                               soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL TSRMLS_CC);
                                        }
                                        attr = get_attribute_ex(func->properties,"role",envelope_ns);
                                        if (attr != NULL) {
@@ -2125,7 +2124,7 @@ static sdlFunctionPtr deseralize_function_call(sdlPtr sdl, xmlDocPtr request, ch
                                                   strcmp(attr->children->content,"false") == 0) {
                                                mustUnderstand = 0;
                                        } else {
-                                               soap_server_fault("Client","mustUnderstand value is not boolean", NULL, NULL);
+                                               soap_server_fault("Client","mustUnderstand value is not boolean", NULL, NULL TSRMLS_CC);
                                        }
                                }
                                h = emalloc(sizeof(soapHeader));