com php-src: Merge branch 'PHP-5.4' into PHP-5.5: Zend/zend_c ompile.c
| From: | Dmitry Stogov | Date: | Mon, 18 Feb 2013 12:20:49 +0000 |
| Subject: | com php-src: Merge branch 'PHP-5.4' into PHP-5.5: Zend/zend_c ompile.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-71255@lists.php.net to get a copy of this message | ||
Commit: d77eb411ea5d80379ee92a908f543b91fa293383
Author: Dmitry Stogov <dmitry@zend.com> Mon, 18 Feb 2013 16:20:49 +0400
Parents: 91538e4e13908a8cfcb25c5286e4222ef4077a7e 42437dd870de28eee6c9127f4c7e7c78ba8e0152
Branches: PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d77eb411ea5d80379ee92a908f543b91fa293383
Log:
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
Fixed bug #64070 (Inheritance with Traits failed with error)
Conflicts:
NEWS
Zend/zend_compile.c
Bugs:
https://bugs.php.net/64070
Changed paths:
MM Zend/zend_compile.c
Diff:
diff --cc Zend/zend_compile.c
index 1a8d108,a3f4fe5..7011511
--- a/Zend/zend_compile..c
+++ b/Zend/zend_compile.c
@@@ -3974,8 -3785,8 +3974,8 @@@ static int zend_traits_copy_functions(z
ce = va_arg(args, zend_class_entry*);
overriden = va_arg(args, HashTable**);
exclude_table = va_arg(args, HashTable*);
-
+
- fnname_len = strlen(fn->common.function_name);
+ fnname_len = hash_key->nKeyLength - 1;
/* apply aliases which are qualified with a class name, there should not be any ambiguity */
if (ce->trait_aliases) {
@@@ -3986,11 -3797,11 +3986,11 @@@
if (alias->alias != NULL
&& (!alias->trait_method->ce || fn->common.scope ==
alias->trait_method->ce)
&& alias->trait_method->mname_len == fnname_len
- && (zend_binary_strcasecmp(alias->trait_method->method_name,
alias->trait_method->mname_len, fn->common.function_name, fnname_len) == 0)) {
+ && (zend_binary_strcasecmp(alias->trait_method->method_name,
alias->trait_method->mname_len, hash_key->arKey, fnname_len) == 0)) {
fn_copy = *fn;
-
+
/* if it is 0, no modifieres has been changed */
- if (alias->modifiers) {
+ if (alias->modifiers) {
fn_copy.common.fn_flags = alias->modifiers | (fn->common.fn_flags ^
(fn->common.fn_flags & ZEND_ACC_PPP_MASK));
}