dmitry Mon Jul 10 10:33:43 2006 UTC Added files: (Branch: PHP_5_2) /php-src/ext/soap/tests/bugs bug38055.phpt bug38055.wsdl
Modified files: /php-src NEWS /php-src/ext/soap php_encoding.c Log: Fixed bug #38055 (Wrong interpretation of boolean parameters) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.114&r2=1.2027.2.547.2.115&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.114 php-src/NEWS:1.2027.2.547.2.115 --- php-src/NEWS:1.2027.2.547.2.114 Mon Jul 10 10:05:19 2006 +++ php-src/NEWS Mon Jul 10 10:33:42 2006 @@ -82,6 +82,7 @@ - Fixed memory leaks in openssl streams context options. (Pierre) - Fixed handling of extremely long paths inside tempnam() function. (Ilia) +- Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry) - Fixed bug #38019 (segfault extending mysqli class). (Dmitry) - Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules). (Dmitry) http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?r1=1.103.2.21.2.4&r2=1.103.2.21.2.5&diff_format=u Index: php-src/ext/soap/php_encoding.c diff -u php-src/ext/soap/php_encoding.c:1.103.2.21.2.4 php-src/ext/soap/php_encoding.c:1.103.2.21.2.5 --- php-src/ext/soap/php_encoding.c:1.103.2.21.2.4 Mon Jul 10 07:21:41 2006 +++ php-src/ext/soap/php_encoding.c Mon Jul 10 10:33:43 2006 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_encoding.c,v 1.103.2.21.2.4 2006/07/10 07:21:41 dmitry Exp $ */ +/* $Id: php_encoding.c,v 1.103.2.21.2.5 2006/07/10 10:33:43 dmitry Exp $ */ #include <time.h> @@ -962,8 +962,13 @@ stricmp(data->children->content,"t") == 0 || strcmp(data->children->content,"1") == 0) { ZVAL_BOOL(ret, 1); - } else { + } else if (stricmp(data->children->content,"false") == 0 || + stricmp(data->children->content,"f") == 0 || + strcmp(data->children->content,"0") == 0) { ZVAL_BOOL(ret, 0); + } else { + ZVAL_STRING(ret, data->children->content, 1); + convert_to_boolean(ret); } } else { soap_error0(E_ERROR, "Encoding: Violation of encoding rules"); @@ -977,29 +982,17 @@ static xmlNodePtr to_xml_bool(encodeTypePtr type, zval *data, int style, xmlNodePtr parent) { xmlNodePtr ret; - zval tmp; ret = xmlNewNode(NULL,"BOGUS"); xmlAddChild(parent, ret); FIND_ZVAL_NULL(data, ret, style); - if (Z_TYPE_P(data) != IS_BOOL) { - tmp = *data; - zval_copy_ctor(&tmp); - convert_to_boolean(data); - data = &tmp; - } - - if (data->value.lval == 1) { + if (zend_is_true(data)) { xmlNodeSetContent(ret, "true"); } else { xmlNodeSetContent(ret, "false"); } - if (data == &tmp) { - zval_dtor(&tmp); - } - if (style == SOAP_ENCODED) { set_ns_and_type(ret, type); } http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug38055.phpt?view=markup&rev=1.1 Index: php-src/ext/soap/tests/bugs/bug38055.phpt +++ php-src/ext/soap/tests/bugs/bug38055.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug38055.wsdl?view=markup&rev=1.1 Index: php-src/ext/soap/tests/bugs/bug38055.wsdl +++ php-src/ext/soap/tests/bugs/bug38055.wsdl -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php