cvs: ZendEngine2 / zend_builtin_functions.c

From: Date: Sat, 24 Aug 2002 09:05:44 +0000
Subject: cvs: ZendEngine2 / zend_builtin_functions.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-355@lists.php.net to get a copy of this message
thies Sat Aug 24 05:05:44 2002 EDT Modified files: /ZendEngine2 zend_builtin_functions.c Log: fix warning Index: ZendEngine2/zend_builtin_functions.c diff -u ZendEngine2/zend_builtin_functions.c:1.135 ZendEngine2/zend_builtin_functions.c:1.136 --- ZendEngine2/zend_builtin_functions.c:1.135 Fri Aug 23 10:44:58 2002 +++ ZendEngine2/zend_builtin_functions.c Sat Aug 24 05:05:44 2002 @@ -1266,6 +1266,8 @@ } return arg_array; } + + return NULL; } /* {{{ proto void debug_backtrace(void) @@ -1277,6 +1279,7 @@ char *function_name; char *filename; char *class_name; + char *include_filename = NULL; zval *stack_frame; void **cur_arg_pos = EG(argument_stack).top_element; @@ -1303,7 +1306,7 @@ } if (ptr->op_array) { - filename = ptr->op_array->filename; + include_filename = filename = ptr->op_array->filename; lineno = ptr->opline->lineno; add_assoc_string_ex(stack_frame, "file", sizeof("file"), filename, 1); add_assoc_long_ex(stack_frame, "line", sizeof("line"), lineno); @@ -1321,14 +1324,22 @@ add_assoc_zval_ex(stack_frame, "args", sizeof("args"), debug_backtrace_get_args(&cur_arg_pos, 0 TSRMLS_CC)); } else { /* i know this is kinda ugly, but i'm trying to avoid extra cycles in the main execution loop */ + int fn = 1; switch (ptr->opline->op2.u.constant.value.lval) { - case ZEND_EVAL: function_name = "eval"; break; + case ZEND_EVAL: function_name = "eval"; fn = 0; break; case ZEND_INCLUDE: function_name = "include"; break; case ZEND_REQUIRE: function_name = "require"; break; case ZEND_INCLUDE_ONCE: function_name = "include_once"; break; case ZEND_REQUIRE_ONCE: function_name = "require_once"; break; - default: function_name = "unknown - please report a bug"; break; + default: function_name = "unknown - please report a bug"; fn = 0; break; + } + + if (fn && include_filename) { + /* include_filename always points to the last known filename. + if we have called include in the frame above - this is the file we have included + */ + printf("%s\n", include_filename); } add_assoc_string_ex(stack_frame, "function", sizeof("function"), function_name, 1);

« previous php.zend-engine.cvs (#355) next »