Re: Re: cvs: ZendEngine2(PHP_5_2) / zend_compile.c zend_object_handlers.c /tests bug37632.phpt

From: Date: Tue, 30 May 2006 12:32:29 +0000
Subject: Re: Re: cvs: ZendEngine2(PHP_5_2) / zend_compile.c zend_object_handlers.c /tests bug37632.phpt
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-23781@lists.php.net to get a copy of this message
On 30.05.2006 16:04, Sebastian Bergmann wrote:
Marcus Boerger wrote:
helly Mon May 29 20:06:44 2006 UTC
  Added files:                 (Branch: PHP_5_2)
    /ZendEngine2/tests	bug37632.phpt 
  Modified files:                  /ZendEngine2	zend_compile.c zend_object_handlers.c   Log:
- MFH Bugfix #37632 (Protected method access problem)
This broke the PEAR Installer: http://phpfi.com/120912
Particularly this change did it. -/* $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)) { + /* ctors only have a prototype if it comes from an interface */ + child->common.prototype = parent->common.prototype ? parent->common.prototype : parent; } -- Wbr, Antony Dovgal

« previous php.internals (#23781) next »