]> granicus.if.org Git - php/commitdiff
- Fix handling of recursive inner iterators
authorMarcus Boerger <helly@php.net>
Fri, 1 Dec 2006 09:28:38 +0000 (09:28 +0000)
committerMarcus Boerger <helly@php.net>
Fri, 1 Dec 2006 09:28:38 +0000 (09:28 +0000)
ext/spl/examples/dualiterator.inc

index 544034856a701755d8d052fb5c8a4ef574401525..3db4487c4ae4e6785d1d38eb71622b6643099384 100755 (executable)
@@ -12,7 +12,7 @@
 /** @ingroup Examples
  * @brief   Synchronous iteration over two iterators
  * @author  Marcus Boerger
- * @version 1.1
+ * @version 1.2
  */
 class DualIterator implements Iterator
 {
@@ -174,6 +174,7 @@ class DualIterator implements Iterator
                        {
                                $it = new RecursiveDualIterator($lhs, $rhs, 
                                                                self::CURRENT_0 | self::KEY_0);
+                               $it = new RecursiveIteratorIterator($it);
                        }
                        else
                        {
@@ -187,7 +188,7 @@ class DualIterator implements Iterator
 
                if ($identical)
                {
-                       foreach(new RecursiveIteratorIterator($it) as $n)
+                       foreach($it as $n)
                        {
                                if (!$it->areIdentical())
                                {