RE: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/soap php_encoding.c
| From: | Dmitry Stogov | Date: | Tue, 24 Oct 2006 05:16:33 +0000 |
| Subject: | RE: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/soap php_encoding.c | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-41197@lists.php.net to get a copy of this message | ||
I'll do it tomorrow morning.
Dmitry.
> -----Original Message-----
> From: Ilia Alshanetsky [mailto:iliaal@gmail.com] On Behalf Of
> Ilia Alshanetsky
> Sent: Monday, October 23, 2006 7:14 PM
> To: Dmitry Stogov
> Cc: php-cvs@lists.php.net
> Subject: Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/soap php_encoding.c
>
>
> Dmitry,
>
> This is not a critical fix, please revert it and hold off
> until 5.2.0
> release before applying it to the 5.2 branch.
>
> Thanks
>
>
> On 23-Oct-06, at 2:46 AM, Dmitry Stogov wrote:
>
> > dmitry Mon Oct 23 06:46:38 2006 UTC
> >
> > Modified files: (Branch: PHP_5_2)
> > /php-src/ext/soap php_encoding.c
> > Log:
> > Fixed decoding of list of arrays in non-WSDL mode. (releated to
> > bug #39121)
> >
> >
> >
> > http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?
> > r1=1.103.2.21.2.11&r2=1.103.2.21.2.12&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.11
> php-src/ext/
> > soap/php_encoding.c:1.103.2.21.2.12
> > --- php-src/ext/soap/php_encoding.c:1.103.2.21.2.11 Tue Oct 3
> > 07:00:35 2006
> > +++ php-src/ext/soap/php_encoding.c Mon Oct 23 06:46:38 2006
> > @@ -17,7 +17,7 @@
> > | Dmitry Stogov
> > <dmitry@zend.com> |
> >
> >
> +-------------------------------------------------------------
> --------
> > -+
> > */
> > -/* $Id: php_encoding.c,v 1.103.2.21.2.11 2006/10/03 07:00:35
> > dmitry Exp $ */
> > +/* $Id: php_encoding.c,v 1.103.2.21.2.12 2006/10/23 06:46:38
> > dmitry Exp $ */
> >
> > #include <time.h>
> >
> > @@ -1102,23 +1102,23 @@
> > }
> >
> add_string_to_string(val, val, val2);
> > zval_ptr_dtor(&val2);
> > - node = node->next;
> > + node = node->next;
> > }
> > }
> > if (any == NULL) {
> > any = val;
> > } else {
> > if (Z_TYPE_P(any) != IS_ARRAY) {
> > - /* Convert into array */
> > - zval *arr;
> > + /* Convert into array */
> > + zval *arr;
> >
> > - MAKE_STD_ZVAL(arr);
> > - array_init(arr);
> > - add_next_index_zval(arr, any);
> > - any = arr;
> > - }
> > - /* Add array element */
> > - add_next_index_zval(any, val);
> > + MAKE_STD_ZVAL(arr);
> > + array_init(arr);
> > + add_next_index_zval(arr, any);
> > + any = arr;
> > + }
> > + /* Add array element */
> > + add_next_index_zval(any, val);
> > }
> > }
> > node = node->next;
> > @@ -1378,22 +1378,31 @@
> >
> > prop = get_zval_property(ret,
> (char*)trav->name TSRMLS_CC);
> > if (!prop) {
> > - set_zval_property(ret, (char*)trav->name, tmpVal
> > TSRMLS_CC);
> > + if (!trav->next ||
> !get_node(trav->next, (char*)trav->name)) {
> > +
> set_zval_property(ret, (char*)trav->name, tmpVal TSRMLS_CC);
> > + } else {
> > + zval *arr;
> > +
> > + MAKE_STD_ZVAL(arr);
> > + array_init(arr);
> > +
> add_next_index_zval(arr, tmpVal);
> > +
> set_zval_property(ret, (char*)trav->name, arr TSRMLS_CC);
> > + }
> > } else {
> > - /* Property already exist -
> make array */
> > - if (Z_TYPE_P(prop) != IS_ARRAY) {
> > - /* Convert into array */
> > - zval *arr;
> > -
> > - MAKE_STD_ZVAL(arr);
> > - array_init(arr);
> > - prop->refcount++;
> > -
> add_next_index_zval(arr, prop);
> > - set_zval_property(ret, (char*)trav->name, arr
> TSRMLS_CC);
> > - prop = arr;
> > - }
> > - /* Add array element */
> > - add_next_index_zval(prop, tmpVal);
> > + /* Property already
> exist - make array */
> > + if (Z_TYPE_P(prop) !=
> IS_ARRAY) {
> > + /* Convert into array */
> > + zval *arr;
> > +
> > + MAKE_STD_ZVAL(arr);
> > + array_init(arr);
> > + prop->refcount++;
> > +
> add_next_index_zval(arr, prop);
> > +
> set_zval_property(ret, (char*)trav->name, arr TSRMLS_CC);
> > + prop = arr;
> > + }
> > + /* Add array element */
> > +
> add_next_index_zval(prop, tmpVal);
> > }
> > }
> > trav = trav->next;
> >
> > --
> > PHP CVS Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
> Ilia Alshanetsky
>
>
>
>