Marcus Boerger wrote:
-/* $Id: zend_compile.c,v 1.647.2.27.2.5 2006/05/27 18:23:48 johannes Exp $ */
+/* $Id: zend_compile.c,v 1.647.2.27.2.6 2006/05/29 20:06:43 helly Exp $ */
#include <zend_language_parser.h>
 #include "zend.h"
@@ -2028,8 +2028,9 @@
        if (parent_flags & ZEND_ACC_ABSTRACT) {
                child->common.fn_flags |= ZEND_ACC_IMPLEMENTED_ABSTRACT;
                child->common.prototype = parent;
-       } else {
-               child->common.prototype = parent->common.prototype;
+       } else if (!(parent->common.fn_flags & ZEND_ACC_CTOR) ||
(parent->common.prototype &&
parent->common.prototype->common.scope->ce_flags && ZEND_ACC_INTERFACE)) {

This looks buggy to me, shouldn't it be
 parent->common.prototype->common.scope->ce_flags & ZEND_ACC_INTERFACE
instead of
 parent->common.prototype->common.scope->ce_flags && ZEND_ACC_INTERFACE
here anyway? Might not be related to the bug reported by Sebastian but reading the patch excerpt from Antony I stumbled over this one...

If the patch is reverted anyway then it doesn't matter, just wanted to mention it in case the code can still be used.

Regards,
- Chris

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to