helly Sat Oct 30 15:12:14 2004 EDT
Modified files:
/php-src/ext/spl spl_iterators.c
Log:
- Fix inner iterator aggregation
http://cvs.php.net/diff.php/php-src/ext/spl/spl_iterators.c?r1=1.43&r2=1.44&ty=u
Index: php-src/ext/spl/spl_iterators.c
diff -u php-src/ext/spl/spl_iterators.c:1.43 php-src/ext/spl/spl_iterators.c:1.44
--- php-src/ext/spl/spl_iterators.c:1.43 Sat Oct 30 06:18:10 2004
+++ php-src/ext/spl/spl_iterators.c Sat Oct 30 15:12:14 2004
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: spl_iterators.c,v 1.43 2004/10/30 10:18:10 helly Exp $ */
+/* $Id: spl_iterators.c,v 1.44 2004/10/30 19:12:14 helly Exp $ */
#ifdef HAVE_CONFIG_H
# include "config.h"
@@ -502,18 +502,19 @@
}
#endif
-static union _zend_function *spl_dual_it_get_method(zval *object, char *method, int
method_len TSRMLS_DC)
+static union _zend_function *spl_dual_it_get_method(zval **object_ptr, char *method,
int method_len TSRMLS_DC)
{
union _zend_function *function_handler;
spl_dual_it_object *intern;
- intern = (spl_dual_it_object*)zend_object_store_get_object(object TSRMLS_CC);
+ intern = (spl_dual_it_object*)zend_object_store_get_object(*object_ptr
TSRMLS_CC);
- function_handler = std_object_handlers.get_method(object, method, method_len
TSRMLS_CC);
+ function_handler = std_object_handlers.get_method(object_ptr, method,
method_len TSRMLS_CC);
if (!function_handler) {
if (zend_hash_find(&intern->inner.ce->function_table, method,
method_len+1, (void **) &function_handler) == FAILURE) {
if (Z_OBJ_HT_P(intern->inner.zobject)->get_method) {
- function_handler =
Z_OBJ_HT_P(intern->inner.zobject)->get_method(intern->inner.zobject, method,
method_len TSRMLS_CC);
+ *object_ptr = intern->inner.zobject;
+ function_handler =
Z_OBJ_HT_P(*object_ptr)->get_method(object_ptr, method, method_len TSRMLS_CC);
}
}
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php