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

Reply via email to