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