Re: Re: cvs: ZendEngine2(PHP_5_2) / zend_compile.c zend_object_handlers.c /tests bug37632.phpt
| From: | Marcus Boerger | Date: | Tue, 30 May 2006 19:24:24 +0000 |
| Subject: | Re: Re: cvs: ZendEngine2(PHP_5_2) / zend_compile.c zend_object_handlers.c /tests bug37632.phpt | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-23787@lists.php.net to get a copy of this message | ||
Hello Antony,
thanks for looking this up :-)
best regards
,arcus
Tuesday, May 30, 2006, 2:32:29 PM, you wrote:
> 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
Best regards,
Marcus