summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_frame.c
diff options
context:
space:
mode:
authorReeze Xia <reeze@php.net>2015-02-13 06:19:29 +0000
committerReeze Xia <reeze@php.net>2015-02-13 06:22:04 +0000
commit39203441ed9335f33f326b4e14473dd0f37cf6d2 (patch)
treec4b35504ec7b77ef9a17f5c045752d8c11ed3994 /sapi/phpdbg/phpdbg_frame.c
parent5f285482eac1b4f7ac5b1ef5ab40df89f79b948a (diff)
downloadphp-git-39203441ed9335f33f326b4e14473dd0f37cf6d2.tar.gz
Fixed phpdbg backtrace argument's name missing
Diffstat (limited to 'sapi/phpdbg/phpdbg_frame.c')
-rw-r--r--sapi/phpdbg/phpdbg_frame.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sapi/phpdbg/phpdbg_frame.c b/sapi/phpdbg/phpdbg_frame.c
index a3531f94af..3384a2c9d1 100644
--- a/sapi/phpdbg/phpdbg_frame.c
+++ b/sapi/phpdbg/phpdbg_frame.c
@@ -142,11 +142,22 @@ static void phpdbg_dump_prototype(zval *tmp) /* {{{ */
}
phpdbg_xml("<arg %r");
if (m && j < m) {
+ char *arg_name = NULL;
+
+ if (arginfo) {
+ if (func->type == ZEND_INTERNAL_FUNCTION) {
+ arg_name = (char *)((zend_internal_arg_info *)&arginfo[j])->name;
+ } else {
+ arg_name = arginfo[j].name->val;
+ }
+ }
+
if (!is_variadic) {
is_variadic = arginfo ? arginfo[j].is_variadic : 0;
}
- phpdbg_xml(" variadic=\"%s\" name=\"%s\">", is_variadic ? "variadic" : "", arginfo ? arginfo[j].name : "");
- phpdbg_out("%s=%s", arginfo ? arginfo[j].name : "?", is_variadic ? "[": "");
+
+ phpdbg_xml(" variadic=\"%s\" name=\"%s\">", is_variadic ? "variadic" : "", arg_name ? arg_name : "");
+ phpdbg_out("%s=%s", arg_name ? arg_name : "?", is_variadic ? "[": "");
} else {
phpdbg_xml(">");