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

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

Reply via email to