]> granicus.if.org Git - php/commitdiff
Fix inheritance rule for interface Traversable
authorMarcus Boerger <helly@php.net>
Sat, 17 Jan 2004 16:38:25 +0000 (16:38 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 17 Jan 2004 16:38:25 +0000 (16:38 +0000)
Zend/zend_interfaces.c

index c203376077489e5d6366ceba3188f8c7e0493773..3282e0dd6258308d09c2f4bb4014ac88b300e064 100755 (executable)
@@ -285,7 +285,7 @@ static int zend_implement_traversable(zend_class_entry *interface, zend_class_en
        /* check that class_type is traversable at c-level or implements at least one of 'aggregate' and 'Iterator' */
        int i;
 
-       if (class_type->get_iterator) {
+       if (class_type->get_iterator || (class_type->parent && class_type->parent->get_iterator) {
                return SUCCESS;
        }       
        for (i = 0; i < class_type->num_interfaces; i++) {