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