From 7dce0194c815cdc75a780b6471660042aed7bd7a Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 21 Mar 2013 21:09:30 +0800 Subject: Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11) --- Zend/zend_builtin_functions.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'Zend/zend_builtin_functions.c') diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index dcb18182e1..f29676bac0 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1092,7 +1092,7 @@ ZEND_FUNCTION(get_class_methods) (len != key_len - 1 || !same_name(key, mptr->common.function_name, len))) { MAKE_STD_ZVAL(method_name); - ZVAL_STRINGL(method_name, key, key_len - 1, 1); + ZVAL_STRINGL(method_name, zend_find_alias_name(mptr->common.scope, key, key_len - 1), key_len - 1, 1); zend_hash_next_index_insert(return_value->value.ht, &method_name, sizeof(zval *), NULL); } else { MAKE_STD_ZVAL(method_name); @@ -2118,7 +2118,14 @@ ZEND_FUNCTION(debug_print_backtrace) lineno = 0; } - function_name = ptr->function_state.function->common.function_name; + function_name = (ptr->function_state.function->common.scope && + ptr->function_state.function->common.scope->trait_aliases) ? + zend_resolve_method_name( + ptr->object ? + Z_OBJCE_P(ptr->object) : + ptr->function_state.function->common.scope, + ptr->function_state.function) : + ptr->function_state.function->common.function_name; if (function_name) { if (ptr->object) { @@ -2299,7 +2306,14 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int filename = NULL; } - function_name = ptr->function_state.function->common.function_name; + function_name = (ptr->function_state.function->common.scope && + ptr->function_state.function->common.scope->trait_aliases) ? + zend_resolve_method_name( + ptr->object ? + Z_OBJCE_P(ptr->object) : + ptr->function_state.function->common.scope, + ptr->function_state.function) : + ptr->function_state.function->common.function_name; if (function_name) { add_assoc_string_ex(stack_frame, "function", sizeof("function"), (char*)function_name, 1); -- cgit v1.2.1