felipe          Sun Sep  7 02:58:50 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/soap   soap.c 
    /php-src/ext/soap/tests/bugs        bug31755.phpt 
  Log:
  - MFH: Removed the doubled error message (the error level is no longer 
E_ERROR)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/soap.c?r1=1.156.2.28.2.30.2.19&r2=1.156.2.28.2.30.2.20&diff_format=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.156.2.28.2.30.2.19 
php-src/ext/soap/soap.c:1.156.2.28.2.30.2.20
--- php-src/ext/soap/soap.c:1.156.2.28.2.30.2.19        Mon Sep  1 14:55:30 2008
+++ php-src/ext/soap/soap.c     Sun Sep  7 02:58:50 2008
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: soap.c,v 1.156.2.28.2.30.2.19 2008/09/01 14:55:30 dmitry Exp $ */
+/* $Id: soap.c,v 1.156.2.28.2.30.2.20 2008/09/07 02:58:50 felipe Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -887,10 +887,10 @@
        int name_length;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zs", &data, 
&name, &name_length) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
        if (name_length == 0) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid parameter name.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameter 
name");
        }
 
 #ifndef ZEND_ENGINE_2
@@ -912,13 +912,13 @@
        zend_bool must_understand = 0;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|zbz", &ns, 
&ns_len, &name, &name_len, &data, &must_understand, &actor) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
        if (ns_len == 0) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid namespace.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid namespace");
        }
        if (name_len == 0) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid header name.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid header 
name");
        }
 
        add_property_stringl(this_ptr, "namespace", ns, ns_len, 1);
@@ -939,7 +939,7 @@
        } else if (Z_TYPE_P(actor) == IS_STRING && Z_STRLEN_P(actor) > 0) {
                add_property_stringl(this_ptr, "actor", Z_STRVAL_P(actor), 
Z_STRLEN_P(actor), 1);
        } else {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid actor.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid actor");
        }
 }
 
@@ -956,8 +956,9 @@
                &fault_string, &fault_string_len,
                &fault_actor, &fault_actor_len,
                &details, &name, &name_len, &headerfault) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
+
        if (Z_TYPE_P(code) == IS_NULL) {
        } else if (Z_TYPE_P(code) == IS_STRING) {
                fault_code = Z_STRVAL_P(code);
@@ -974,13 +975,13 @@
                  fault_code = Z_STRVAL_PP(t_code);
                  fault_code_len = Z_STRLEN_PP(t_code);
                } else {
-                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 
parameters. Invalid fault code.");
+                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 
fault code");
                }
        } else  {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid fault code.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid fault code");
        }
        if (fault_code != NULL && fault_code_len == 0) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. 
Invalid fault code.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid fault code");
        }
        if (name != NULL && name_len == 0) {
                name = NULL;
@@ -1048,7 +1049,7 @@
        int stype_len, ns_len, name_len, namens_len;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z!z|ssss", &data, 
&type, &stype, &stype_len, &ns, &ns_len, &name, &name_len, &namens, 
&namens_len) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        if (Z_TYPE_P(type) == IS_NULL) {
@@ -1205,7 +1206,7 @@
 PHP_METHOD(SoapServer, SoapServer)
 {
        soapServicePtr service;
-       zval *wsdl, *options = NULL;
+       zval *wsdl = NULL, *options = NULL;
        int ret;
        int version = SOAP_1_1;
        long cache_wsdl;
@@ -1213,15 +1214,8 @@
 
        SOAP_SERVER_BEGIN_CODE();
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|a", &wsdl, 
&options) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
-       }
-
-       if (Z_TYPE_P(wsdl) == IS_STRING) {
-       } else if (Z_TYPE_P(wsdl) == IS_NULL) {
-               wsdl = NULL;
-       } else {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z!|a", &wsdl, 
&options) == FAILURE) {
+               return;
        }
 
        service = emalloc(sizeof(soapService));
@@ -1245,7 +1239,7 @@
                    Z_TYPE_PP(tmp) == IS_STRING) {
                        service->uri = estrndup(Z_STRVAL_PP(tmp), 
Z_STRLEN_PP(tmp));
                } else if (wsdl == NULL) {
-                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 
arguments. 'uri' option is required in nonWSDL mode.");
+                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "'uri' option 
is required in nonWSDL mode");
                        return;
                }
 
@@ -1260,7 +1254,7 @@
                
                        encoding = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
        if (encoding == NULL) {
-                               php_error_docref(NULL TSRMLS_CC, E_ERROR, 
"Invalid arguments. Invalid 'encoding' option - '%s'.", Z_STRVAL_PP(tmp));
+                               php_error_docref(NULL TSRMLS_CC, E_ERROR, 
"Invalid 'encoding' option - '%s'", Z_STRVAL_PP(tmp));
            } else {
              service->encoding = encoding;
            }
@@ -1297,7 +1291,7 @@
                }
 
        } else if (wsdl == NULL) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid arguments. 
'uri' option is required in nonWSDL mode.");
+               php_error_docref(NULL TSRMLS_CC, E_ERROR, "'uri' option is 
required in nonWSDL mode");
        }
 
        service->version = version;
@@ -1430,7 +1424,7 @@
        FETCH_THIS_SERVICE(service);
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &obj) == 
FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        service->type = SOAP_OBJECT;
@@ -1507,7 +1501,7 @@
        FETCH_THIS_SERVICE(service);
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", 
&function_name) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        /* TODO: could use zend_is_callable here */
@@ -1613,8 +1607,9 @@
 
        FETCH_THIS_SERVICE(service);
        SOAP_GLOBAL(soap_version) = service->version;
+       
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, 
&arg_len) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        if (SG(request_info).request_method &&
@@ -2145,7 +2140,7 @@
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|szs",
            &code, &code_len, &string, &string_len, &actor, &actor_len, 
&details,
            &name, &name_len) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        soap_server_fault(code, string, actor, details, name TSRMLS_CC);
@@ -2168,7 +2163,7 @@
        }
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &fault, 
soap_header_class_entry) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        p = service->soap_headers_ptr;
@@ -2495,7 +2490,6 @@
        SOAP_CLIENT_BEGIN_CODE();
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|a", &wsdl, 
&options) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
                return;
        }
 
@@ -3018,30 +3012,26 @@
 
        HashPosition pos;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sa|zzz",
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sa|a!zz",
                &function, &function_len, &args, &options, &headers, 
&output_headers) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
 
        if (options) {
-               if (Z_TYPE_P(options) == IS_ARRAY) {
-                       HashTable *ht = Z_ARRVAL_P(options);
-                       if (zend_hash_find(ht, "location", sizeof("location"), 
(void**)&tmp) == SUCCESS &&
-                           Z_TYPE_PP(tmp) == IS_STRING) {
-                               location = Z_STRVAL_PP(tmp);
-                       }
+               HashTable *ht = Z_ARRVAL_P(options);
+               if (zend_hash_find(ht, "location", sizeof("location"), 
(void**)&tmp) == SUCCESS &&
+                       Z_TYPE_PP(tmp) == IS_STRING) {
+                       location = Z_STRVAL_PP(tmp);
+               }
 
-                       if (zend_hash_find(ht, "soapaction", 
sizeof("soapaction"), (void**)&tmp) == SUCCESS &&
-                           Z_TYPE_PP(tmp) == IS_STRING) {
-                               soap_action = Z_STRVAL_PP(tmp);
-                       }
+               if (zend_hash_find(ht, "soapaction", sizeof("soapaction"), 
(void**)&tmp) == SUCCESS &&
+                       Z_TYPE_PP(tmp) == IS_STRING) {
+                       soap_action = Z_STRVAL_PP(tmp);
+               }
 
-                       if (zend_hash_find(ht, "uri", sizeof("uri"), 
(void**)&tmp) == SUCCESS &&
-                           Z_TYPE_PP(tmp) == IS_STRING) {
-                               uri = Z_STRVAL_PP(tmp);
-                       }
-               } else if (Z_TYPE_P(options) != IS_NULL) {
-                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "first 
parameter must be string or null");
+               if (zend_hash_find(ht, "uri", sizeof("uri"), (void**)&tmp) == 
SUCCESS &&
+                       Z_TYPE_PP(tmp) == IS_STRING) {
+                       uri = Z_STRVAL_PP(tmp);
                }
        }
 
@@ -3259,7 +3249,7 @@
            &location, &location_size,
            &action, &action_size,
            &version, &one_way) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
+               return;
        }
        if (SOAP_GLOBAL(features) & SOAP_WAIT_ONE_WAY_CALLS) {
                one_way = 0;
@@ -3288,10 +3278,8 @@
        int  name_len, val_len;
        zval **cookies;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s",
-           &name, &name_len, &val, &val_len) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
-         RETURN_NULL();
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &name, 
&name_len, &val, &val_len) == FAILURE) {
+               return;
        }
 
        if (val == NULL) {
@@ -3326,8 +3314,7 @@
        zval *headers = NULL;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z", &headers) == 
FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
-         RETURN_NULL();
+               return;
        }
 
        if (headers == NULL || Z_TYPE_P(headers) == IS_NULL) {
@@ -3369,17 +3356,16 @@
        int  location_len;
        zval **tmp;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s",
-           &location, &location_len) == FAILURE) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
-         RETURN_NULL();
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &location, 
&location_len) == FAILURE) {
+               return;
        }
-       if (zend_hash_find(Z_OBJPROP_P(this_ptr), "location", 
sizeof("location"),(void **) &tmp) == SUCCESS &&
-           Z_TYPE_PP(tmp) == IS_STRING) {
-         RETVAL_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
+
+       if (zend_hash_find(Z_OBJPROP_P(this_ptr), "location", 
sizeof("location"),(void **) &tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) {
+               RETVAL_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
        } else {
          RETVAL_NULL();
        }
+
        if (location && location_len) {
                add_property_stringl(this_ptr, "location", location, 
location_len, 1);
        } else {
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug31755.phpt?r1=1.2.4.2.2.1&r2=1.2.4.2.2.2&diff_format=u
Index: php-src/ext/soap/tests/bugs/bug31755.phpt
diff -u php-src/ext/soap/tests/bugs/bug31755.phpt:1.2.4.2.2.1 
php-src/ext/soap/tests/bugs/bug31755.phpt:1.2.4.2.2.2
--- php-src/ext/soap/tests/bugs/bug31755.phpt:1.2.4.2.2.1       Sat May 24 
15:22:18 2008
+++ php-src/ext/soap/tests/bugs/bug31755.phpt   Sun Sep  7 02:58:50 2008
@@ -14,4 +14,4 @@
 print $client->__getLastRequest();
 ?>
 --EXPECTF--
-Fatal error: SoapHeader::SoapHeader(): Invalid parameters. Invalid namespace. 
in %s on line %d
+Fatal error: SoapHeader::SoapHeader(): Invalid namespace in %s on line %d

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to