]> granicus.if.org Git - php/commitdiff
- Fix issue with interfaces being inherited multiple times
authorMarcus Boerger <helly@php.net>
Wed, 7 Jun 2006 09:23:58 +0000 (09:23 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 7 Jun 2006 09:23:58 +0000 (09:23 +0000)
Zend/zend_compile.c
Zend/zend_vm_def.h

index 7009b8f32e1aae077fa86ff41f8caa825f94cc0a..56c87f86f36187a7e924b136ffe901b907ca571b 100644 (file)
@@ -2394,7 +2394,7 @@ ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry
                        if (i < parent_iface_num) {
                                ignore = 1;
                        } else {
-                               zend_error(E_COMPILE_ERROR, "Class %s cannot implement previously implemented interface %s", ce->name, iface->name);
+                               zend_error(E_COMPILE_ERROR, "Class %v cannot implement previously implemented interface %v", ce->name, iface->name);
                        }
                }
        }
index b521d37e92aa05dbb2a3d73930ce49792808ff21..0007203bfadbe3627b765252fc7b35dfce45f2f0 100644 (file)
@@ -3740,8 +3740,6 @@ ZEND_VM_HANDLER(144, ZEND_ADD_INTERFACE, ANY, ANY)
                zend_error_noreturn(E_ERROR, "%v cannot implement %v - it is not an interface", ce->name, iface->name);
        }
 
-       ce->interfaces[opline->extended_value] = iface;
-
        zend_do_implement_interface(ce, iface TSRMLS_CC);
 
        ZEND_VM_NEXT_OPCODE();