cvs: php-src(PHP_5_3) / NEWS /ext/soap php_encoding.c /ext/soap/tests server030.phpt server030.wsdl
| From: | Dmitry Stogov | Date: | Thu, 27 Dec 2007 13:10:20 +0000 |
| Subject: | cvs: php-src(PHP_5_3) / NEWS /ext/soap php_encoding.c /ext/soap/tests server030.phpt server030.wsdl | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-47609@lists.php.net to get a copy of this message | ||
dmitry Thu Dec 27 13:10:20 2007 UTC
Added files: (Branch: PHP_5_3)
/php-src/ext/soap/tests server030.phpt server030.wsdl
Modified files:
/php-src NEWS
/php-src/ext/soap php_encoding.c
Log:
Added ability to use SplArrays instead of plain arrays in ext/soap. (Joshua Reese, Dmitry)
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.60&r2=1.2027.2.547.2.965.2.61&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.60 php-src/NEWS:1.2027.2.547.2.965.2.61
--- php-src/NEWS:1.2027.2.547.2.965.2.60 Tue Dec 25 18:54:29 2007
+++ php-src/NEWS Thu Dec 27 13:10:20 2007
@@ -1,6 +1,8 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 20??, PHP 5.3.0
+- Added ability to use SplArrays instead of plain arrays in ext/soap.
+ (Joshua Reese, Dmitry)
- Added "?:" operator. (Marcus)
- Added stream_supports_lock() function. (Benjamin Schulz)
- Added msg_queue_exists() function. (Benjamin Schulz)
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?r1=1.103.2.21.2.37.2.3&r2=1.103.2.21.2.37.2.4&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.37.2.3
php-src/ext/soap/php_encoding.c:1.103.2.21.2.37.2.4
--- php-src/ext/soap/php_encoding.c:1.103.2.21.2.37.2.3 Wed Oct 17 12:09:02 2007
+++ php-src/ext/soap/php_encoding.c Thu Dec 27 13:10:20 2007
@@ -17,7 +17,7 @@
| Dmitry Stogov <dmitry@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_encoding.c,v 1.103.2.21.2.37.2.3 2007/10/17 12:09:02 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.103.2.21.2.37.2.4 2007/12/27 13:10:20 dmitry Exp $ */
#include <time.h>
@@ -27,6 +27,10 @@
#include <libxml/parserInternals.h>
#include "zend_strtod.h"
+#ifdef HAVE_SPL
+# include "ext/spl/spl_array.h"
+#endif
+
/* zval type decode */
static zval *to_zval_double(encodeTypePtr type, xmlNodePtr data);
static zval *to_zval_long(encodeTypePtr type, xmlNodePtr data);
@@ -2238,7 +2242,9 @@
int dimension = 1;
int* dims;
int soap_version;
-
+#ifdef HAVE_SPL
+ zval *array_copy = NULL;
+#endif
TSRMLS_FETCH();
soap_version = SOAP_GLOBAL(soap_version);
@@ -2258,6 +2264,18 @@
return xmlParam;
}
+#ifdef HAVE_SPL
+ if (Z_TYPE_P(data) == IS_OBJECT && (instanceof_function(Z_OBJCE_P(data),
spl_ce_ArrayObject TSRMLS_CC) || instanceof_function(Z_OBJCE_P(data), spl_ce_ArrayIterator
TSRMLS_CC))) {
+ zval getArray;
+
+ ZVAL_STRING(&getArray, "getArrayCopy", 0);
+ call_user_function_ex(NULL, &data, &getArray, &array_copy, 0, 0, 0, NULL TSRMLS_CC);
+ if (Z_TYPE_P(array_copy) == IS_ARRAY) {
+ data = array_copy;
+ }
+ }
+#endif
+
if (Z_TYPE_P(data) == IS_ARRAY) {
sdlAttributePtr *arrayType;
sdlExtraAttributePtr *ext;
@@ -2435,6 +2453,13 @@
set_ns_and_type(xmlParam, type);
}
}
+
+#ifdef HAVE_SPL
+ if (array_copy) {
+ zval_ptr_dtor(&array_copy);
+ }
+#endif
+
return xmlParam;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/server030.phpt?view=markup&rev=1.1
Index: php-src/ext/soap/tests/server030.phpt
+++ php-src/ext/soap/tests/server030.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/server030.wsdl?view=markup&rev=1.1
Index: php-src/ext/soap/tests/server030.wsdl
+++ php-src/ext/soap/tests/server030.wsdl