Hey folks,
I'd like to add the local variables for all stack-frames to the result of debug_backtrace(), i.e. each array entry contains a 'vars' field pointing to the symbol table of that frame. A patch for PHP4/Zend is attached.


Opinions?
- Chris
Index: Zend/zend_builtin_functions.c
===================================================================
RCS file: /repository/Zend/Attic/zend_builtin_functions.c,v
retrieving revision 1.124.2.9
diff -u -a -r1.124.2.9 zend_builtin_functions.c
--- Zend/zend_builtin_functions.c       16 Jun 2003 15:55:07 -0000      1.124.2.9
+++ Zend/zend_builtin_functions.c       25 Oct 2003 13:05:42 -0000
@@ -1234,6 +1234,17 @@
                        filename = NULL;
                }
 
+               if (ptr->function_state.function_symbol_table) {
+                       zval *vars;
+                       ALLOC_INIT_ZVAL(vars);
+                       vars->value.ht = ptr->function_state.function_symbol_table;
+                       vars->type = IS_ARRAY;
+                       vars->is_ref = 1;
+                       vars->refcount = 2; /* we don't want this one to be freed */
+                       add_assoc_zval_ex(stack_frame, "vars", sizeof("vars"), vars);
+                       FREE_ZVAL(vars);
+               }
+
                function_name = ptr->function_state.function->type != 
ZEND_OVERLOADED_FUNCTION ? ptr->function_state.function->common.function_name : 
get_active_function_name(TSRMLS_C);  /* "OVERLOADED_FUNCTION" */
 
                if (function_name) {

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

Reply via email to