Date:      Fri Dec 22 14:51:03 CET 2006
User:      Derick Rethans
Directory: xdebug
Log Message:
[6.00]
- Implemented the "xdebug.var_display_max_children" setting. The default is set to 128 children.
- Fixed the issue where get_declared_parameters() did not now about variables
  there are in the declared function header, but were not used in the code. Due
  to this change expected arguments that were not send to a function will now
  show up as ??? in stack and function traces. Only tested with PHP 5.2.
- Removed variable name printing from the fancy synopsis formatter.
Modified files:
           xdebug/xdebug.c                  (version: 1.363)
           xdebug/xdebug_var.c              (version: 1.81)
           xdebug/tests/array_map.phpt      (version: 1.12)
           xdebug/tests/bug00022.phpt       (version: 1.4)
           xdebug/tests/bug00032-ze22.phpt  (version: 1.4)
           xdebug/tests/bug00089.phpt       (version: 1.5)
           xdebug/tests/bug00173.phpt       (version: 1.4)
           xdebug/tests/bug00184.phpt       (version: 1.3)
           xdebug/tests/get_declared_vars.phpt (version: 1.5)
           xdebug/tests/test1.phpt          (version: 1.19)
           xdebug/tests/test12.phpt         (version: 1.16)
           xdebug/tests/test6.phpt          (version: 1.18)
           xdebug/tests/test8.phpt          (version: 1.18)
           xdebug/tests/xdebug_var_dump.phpt (version: 1.6)
[FILE: /xdebug/xdebug.c]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.362
retrieving revision 1.363
diff -u -r1.362 -r1.363
--- xdebug/xdebug.c:1.362 Fri Dec 01 18:38:21 2006 GMT
+++ xdebug/xdebug.c Fri Dec 22 12:51:03 2006 GMT
@@ -320,11 +320,11 @@
 
         /* Variable display settings */
 #if ZEND_EXTENSION_API_NO < 90000000
-/*	STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128",         PHP_INI_ALL,    OnUpdateInt,    display_max_children, zend_xdebug_globals, xdebug_globals) */
+	STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128",         PHP_INI_ALL,    OnUpdateInt,    display_max_children, zend_xdebug_globals, xdebug_globals)
         STD_PHP_INI_ENTRY("xdebug.var_display_max_data",     "512",         PHP_INI_ALL,    OnUpdateInt,    display_max_data,     zend_xdebug_globals, xdebug_globals)
         STD_PHP_INI_ENTRY("xdebug.var_display_max_depth",    "2",           PHP_INI_ALL,    OnUpdateInt,    display_max_depth,    zend_xdebug_globals, xdebug_globals)
 #else
-/*	STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128",         PHP_INI_ALL,    OnUpdateLong,   display_max_children, zend_xdebug_globals, xdebug_globals) */
+	STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128",         PHP_INI_ALL,    OnUpdateLong,   display_max_children, zend_xdebug_globals, xdebug_globals)
         STD_PHP_INI_ENTRY("xdebug.var_display_max_data",     "512",         PHP_INI_ALL,    OnUpdateLong,   display_max_data,     zend_xdebug_globals, xdebug_globals)
         STD_PHP_INI_ENTRY("xdebug.var_display_max_depth",    "2",           PHP_INI_ALL,    OnUpdateLong,   display_max_depth,    zend_xdebug_globals, xdebug_globals)
 #endif
@@ -971,17 +971,10 @@
         function_stack_entry *tmp;
         zend_op              *cur_opcode;
         zval                **param;
-	void                **p;
-	int                   arg_count = 0;
         int                   i = 0;
         char                 *aggr_key;
         int                   aggr_key_len;
 
-	if (EG(argument_stack).top >= 2) {
-		p = EG(argument_stack).top_element - 2;
-		arg_count = (ulong) *p;
-	}
-
         tmp = xdmalloc (sizeof (function_stack_entry));
         tmp->var           = NULL;
         tmp->varc          = 0;
@@ -1066,22 +1059,60 @@
                                 tmp->lineno = cur_opcode->lineno;
                         }
                 }
-		if (XG(collect_params)) {
-			tmp->var = xdmalloc(arg_count * sizeof (xdebug_var));
-			for (i = 0; i < arg_count; i++) {
-				tmp->var[tmp->varc].name  = NULL;
-				param = NULL;
-				if (zend_ptr_stack_get_arg(tmp->varc + 1, (void**) ¶m TSRMLS_CC) == SUCCESS) {
-					if (param) {
-						tmp->var[tmp->varc].addr = *param;
-					} else {
-						tmp->var[tmp->varc].addr = NULL;
+		if (XG(collect_params) || XG(collect_vars)) {
+			void **p;
+			int    arguments_sent = 0, arguments_wanted = 0, arguments_storage = 0;
+
+			/* This calculates how many arguments where sent to a function. It
+			 * works for both internal and user defined functions.
+			 * op_array->num_args works only for user defined functions so
+			 * we're not using that here. */
+			if (EG(argument_stack).top >= 2) {
+				p = EG(argument_stack).top_element - 2;
+				arguments_sent = (ulong) *p;
+				arguments_wanted = arguments_sent;
+			}
+
+			if (tmp->user_defined == XDEBUG_EXTERNAL) {
+				arguments_wanted = op_array->num_args;
+			}
+
+			if (arguments_wanted > arguments_sent) {
+				arguments_storage = arguments_wanted;
+			} else {
+				arguments_storage = arguments_sent;
+			}
+			tmp->var = xdmalloc(arguments_storage * sizeof (xdebug_var));
+
+			for (i = 0; i < arguments_sent; i++) {
+				tmp->var[tmp->varc].name = NULL;
+				tmp->var[tmp->varc].addr = NULL;
+# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
+				/* Because it is possible that more parameters are sent, then
+				 * actually wanted  we can only access the name in case there
+				 * is an associated variable to receive the variable here. */
+				if (tmp->user_defined == XDEBUG_EXTERNAL && i < arguments_wanted) {
+					tmp->var[tmp->varc].name = xdstrdup(op_array->arg_info[i].name);
+				}
+# endif
+				if (XG(collect_params)) {
+					param = NULL;
+					if (zend_ptr_stack_get_arg(tmp->varc + 1, (void**) ¶m TSRMLS_CC) == SUCCESS) {
+						if (param) {
+							tmp->var[tmp->varc].addr = *param;
+						}
                                         }
-				} else {
-					tmp->var[tmp->varc].addr = NULL;
                                 }
                                 tmp->varc++;
                         }
+			/* Sometimes not enough arguments are send to a user defined
+			 * function, so we have to gather only the name for those extra. */
+			if (tmp->user_defined == XDEBUG_EXTERNAL && arguments_sent < arguments_wanted) {
+				for (i = arguments_sent; i < arguments_wanted; i++) {
+					tmp->var[tmp->varc].name = xdstrdup(op_array->arg_info[i].name);
+					tmp->varc++;
+				}
+			}
                 }
         }
 
@@ -1153,6 +1184,16 @@
                 fse->used_vars = xdebug_hash_alloc(64, used_var_dtor);
         }
 
+	/* Check parameters */
+# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
+	for (i = 0; i < fse->varc; i++) {
+		if (fse->var[i].name) {
+			xdebug_hash_update(fse->used_vars, fse->var[i].name, strlen(fse->var[i].name), xdstrdup(fse->var[i].name));
+		}
+	}
+# endif
+
+	/* opcode scanning time */
         while (i < j) {
 # if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
                 char *cv = NULL;
@@ -1166,7 +1207,6 @@
                         cv = zend_get_compiled_variable_name(op_array, op_array->opcodes[i].op2.u.var, &cv_len);
                         xdebug_hash_update(fse->used_vars, cv, cv_len, xdstrdup(cv));
                 }
-		/* FIXME: Add support for function arguments too */
 #else
                 if (op_array->opcodes[i].opcode == ZEND_FETCH_R || op_array->opcodes[i].opcode == ZEND_FETCH_W) {
                         if (op_array->opcodes[i].op1.op_type == IS_CONST) {
@@ -1608,22 +1648,27 @@
         zvar = xdebug_get_php_symbol(name, strlen(name) + 1);
         XG(active_symbol_table) = tmp_ht;
 
+	if (html) {
+		formats = html_formats;
+	} else {
+		formats = text_formats;
+	}
+
         if (!zvar) {
+		xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);
                 return;
         }
 
         if (html) {
-		formats = html_formats;
                 contents = get_zval_value_fancy(NULL, zvar, &len, 0, NULL TSRMLS_CC);
         } else {
-		formats = text_formats;
                 contents = get_zval_value(zvar, 0, NULL);
         }
 
         if (contents) {
                 xdebug_str_add(str, xdebug_sprintf(formats[8], name, contents), 1);
         } else {
-		xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);;
+		xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);
         }
 
         xdfree(contents);
@@ -1724,7 +1769,7 @@
 
                         /* Printing vars */
                         for (j = 0; j < i->varc; j++) {
-				char *tmp_varname, *tmp_value, *tmp_fancy_value, *tmp_fancy_synop_value;
+				char *tmp_value, *tmp_fancy_value, *tmp_fancy_synop_value;
                                 int newlen;
 
                                 if (c) {
@@ -1732,21 +1777,24 @@
                                 } else {
                                         c = 1;
                                 }
-				tmp_varname = i->var[j].name ? xdebug_sprintf("$%s = ", i->var[j].name) : xdstrdup("");
+
                                 if (html) {
                                         tmp_value = get_zval_value(i->var[j].addr, 0, NULL);
                                         tmp_fancy_value = xmlize(tmp_value, strlen(tmp_value), &newlen);
-					tmp_fancy_synop_value = get_zval_synopsis_fancy(tmp_varname, i->var[j].addr, &len, 0, NULL TSRMLS_CC);
+					tmp_fancy_synop_value = get_zval_synopsis_fancy("", i->var[j].addr, &len, 0, NULL TSRMLS_CC);
                                         xdebug_str_add(&str, xdebug_sprintf("<span title='%s'>%s</span>", tmp_fancy_value, tmp_fancy_synop_value), 1);
                                         xdfree(tmp_value);
                                         efree(tmp_fancy_value);
                                         xdfree(tmp_fancy_synop_value);
                                 } else {
                                         tmp_value = get_zval_synopsis(i->var[j].addr, 0, NULL);
-					xdebug_str_add(&str, xdebug_sprintf("%s%s", tmp_varname, tmp_value), 1);
-					xdfree(tmp_value);
+					if (tmp_value) {
+						xdebug_str_add(&str, xdebug_sprintf("%s", tmp_value), 1);
+						xdfree(tmp_value);
+					} else {
+						xdebug_str_addl(&str, "???", 3, 0);
+					}
                                 }
-				xdfree(tmp_varname);
                         }
 
                         if (i->include_filename) {
@@ -1857,10 +1905,10 @@
                 } else {
                         c = 1;
                 }
-
+/*
                 tmp_varname = i->var[j].name ? xdebug_sprintf("$%s = ", i->var[j].name) : xdstrdup("");
                 xdebug_str_add(&str, tmp_varname, 1);
-
+*/
                 tmp_value = get_zval_value(i->var[j].addr, 0, NULL);
                 if (tmp_value) {
                         xdebug_str_add(&str, tmp_value, 1);
@@ -2294,6 +2342,7 @@
                 xdebug_hash_apply(i->used_vars, (void *) return_value, attach_used_var_names);
         }
         /* Add params */
+#if 0
         if (i->var) {
                 for (j = 0; j < i->varc; j++) {
                         if (i->var[j].name) {
@@ -2301,6 +2350,7 @@
                         }
                 }
         }
+#endif
 }
 /* }}} */
 
[FILE: /xdebug/xdebug_var.c]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- xdebug/xdebug_var.c:1.80 Tue Dec 19 16:54:19 2006 GMT
+++ xdebug/xdebug_var.c Fri Dec 22 12:51:03 2006 GMT
@@ -128,11 +128,16 @@
         xdebug_var_export_options *options;
         options = xdmalloc(sizeof(xdebug_var_export_options));
 
-	options->max_children = 1024; /* XG(display_max_children); */
+	options->max_children = XG(display_max_children);
         options->max_data = XG(display_max_data);
         options->max_depth = XG(display_max_depth);
         options->show_hidden = 0;
-	options->runtime = NULL;
+
+	if (options->max_children == -1) {
+		options->max_children = 1048576;
+	} else if (options->max_children < 1) {
+		options->max_children = 1;
+	}
 
         if (options->max_data == -1) {
                 options->max_data = 1073741824;
@@ -141,11 +146,13 @@
         }
 
         if (options->max_depth == -1) {
-		options->max_depth = 65536;
+		options->max_depth = 4096;
         } else if (options->max_depth < 0) {
                 options->max_depth = 0;
         }
 
+	options->runtime = (xdebug_var_runtime_page*) xdmalloc((options->max_depth + 1) * sizeof(xdebug_var_runtime_page));
+
         return options;
 }
 
@@ -172,26 +179,34 @@
         debug_zval = va_arg(args, int);
         options    = va_arg(args, xdebug_var_export_options*);
 
-	if (hash_key->nKeyLength==0) { /* numeric key */
-		xdebug_str_add(str, xdebug_sprintf("%ld => ", hash_key->h), 1);
-	} else { /* string key */
-		int newlen = 0;
-		char *tmp, *tmp2;
-		
-		tmp = php_str_to_str(hash_key->arKey, hash_key->nKeyLength, "'", 1, "\\'", 2, &newlen);
-		tmp2 = php_str_to_str(tmp, newlen - 1, "\0", 1, "\\0", 2, &newlen);
-		if (tmp) {
-			efree(tmp);
-		}
-		xdebug_str_addl(str, "'", 1, 0);
-		if (tmp2) {
-			xdebug_str_addl(str, tmp2, newlen, 0);
-			efree(tmp2);
+	if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+		options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+	{
+		if (hash_key->nKeyLength==0) { /* numeric key */
+			xdebug_str_add(str, xdebug_sprintf("%ld => ", hash_key->h), 1);
+		} else { /* string key */
+			int newlen = 0;
+			char *tmp, *tmp2;
+			
+			tmp = php_str_to_str(hash_key->arKey, hash_key->nKeyLength, "'", 1, "\\'", 2, &newlen);
+			tmp2 = php_str_to_str(tmp, newlen - 1, "\0", 1, "\\0", 2, &newlen);
+			if (tmp) {
+				efree(tmp);
+			}
+			xdebug_str_addl(str, "'", 1, 0);
+			if (tmp2) {
+				xdebug_str_addl(str, tmp2, newlen, 0);
+				efree(tmp2);
+			}
+			xdebug_str_add(str, "' => ", 0);
                 }
-		xdebug_str_add(str, "' => ", 0);
+		xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
+		xdebug_str_addl(str, ", ", 2, 0);
         }
-	xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
-	xdebug_str_addl(str, ", ", 2, 0);
+	if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+		xdebug_str_addl(str, "..., ", 5, 0);
+	}
+	options->runtime[level].current_element_nr++;
         return 0;
 }
 
@@ -208,12 +223,20 @@
         debug_zval = va_arg(args, int);
         options    = va_arg(args, xdebug_var_export_options*);
 
-	if (hash_key->nKeyLength != 0) {
-		modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
-		xdebug_str_add(str, xdebug_sprintf("%s $%s = ", modifier, prop_name), 1);
+	if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+		options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+	{
+		if (hash_key->nKeyLength != 0) {
+			modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
+			xdebug_str_add(str, xdebug_sprintf("%s $%s = ", modifier, prop_name), 1);
+		}
+		xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
+		xdebug_str_addl(str, "; ", 2, 0);
+	}
+	if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+		xdebug_str_addl(str, "...; ", 5, 0);
         }
-	xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
-	xdebug_str_addl(str, "; ", 2, 0);
+	options->runtime[level].current_element_nr++;
         return 0;
 }
 
@@ -263,7 +286,12 @@
                         if (myht->nApplyCount < 1) {
                                 xdebug_str_addl(str, "array (", 7, 0);
                                 if (level <= options->max_depth) {
+					options->runtime[level].current_element_nr = 0;
+					options->runtime[level].start_element_nr = 0;
+					options->runtime[level].end_element_nr = options->max_children;
+
                                         zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_array_element_export, 4, level, str, debug_zval, options);
+					/* Remove the ", " at the end of the string */
                                         if (myht->nNumOfElements > 0) {
                                                 xdebug_str_chop(str, 2);
                                         }
@@ -281,7 +309,12 @@
                         if (myht->nApplyCount < 1) {
                                 xdebug_str_add(str, xdebug_sprintf("class %s { ", Z_OBJCE_PP(struc)->name), 1);
                                 if (level <= options->max_depth) {
+					options->runtime[level].current_element_nr = 0;
+					options->runtime[level].start_element_nr = 0;
+					options->runtime[level].end_element_nr = options->max_children;
+
                                         zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_object_element_export, 4, level, str, debug_zval, options);
+					/* Remove the ", " at the end of the string */
                                         if (myht->nNumOfElements > 0) {
                                                 xdebug_str_chop(str, 2);
                                         }
@@ -795,15 +828,23 @@
         debug_zval = va_arg(args, int);
         options    = va_arg(args, xdebug_var_export_options*);
 
-	xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+	if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+		options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+	{
+		xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
 
-	if (hash_key->nKeyLength==0) { /* numeric key */
-		xdebug_str_add(str, xdebug_sprintf("%ld <font color='%s'>=></font> ", hash_key->h, COLOR_POINTER), 1);
-	} else { /* string key */
-		xdebug_str_add(str, xdebug_sprintf("'%s' <font color='%s'>=></font> ", hash_key->arKey, COLOR_POINTER), 1);
+		if (hash_key->nKeyLength==0) { /* numeric key */
+			xdebug_str_add(str, xdebug_sprintf("%ld <font color='%s'>=></font> ", hash_key->h, COLOR_POINTER), 1);
+		} else { /* string key */
+			xdebug_str_add(str, xdebug_sprintf("'%s' <font color='%s'>=></font> ", hash_key->arKey, COLOR_POINTER), 1);
+		}
+		xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
         }
-	xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
-
+	if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+		xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+		xdebug_str_addl(str, "<i>more elements...</i>\n", 24, 0);
+	}
+	options->runtime[level].current_element_nr++;
         return 0;
 }
 
@@ -821,14 +862,23 @@
         debug_zval = va_arg(args, int);
         options    = va_arg(args, xdebug_var_export_options*);
 
-	xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+	if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+		options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+	{
+		xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
 
-	key = hash_key->arKey;
-	if (hash_key->nKeyLength != 0) {
-		modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
-		xdebug_str_add(str, xdebug_sprintf("<i>%s</i> '%s' <font color='%s'>=></font> ", modifier, prop_name, COLOR_POINTER), 1);
+		key = hash_key->arKey;
+		if (hash_key->nKeyLength != 0) {
+			modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
+			xdebug_str_add(str, xdebug_sprintf("<i>%s</i> '%s' <font color='%s'>=></font> ", modifier, prop_name, COLOR_POINTER), 1);
+		}
+		xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
+	}
+	if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+		xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+		xdebug_str_addl(str, "<i>more elements...</i>\n", 24, 0);
         }
-	xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
+	options->runtime[level].current_element_nr++;
         return 0;
 }
 
@@ -885,6 +935,10 @@
                                 xdebug_str_addl(str, "<b>array</b>\n", 13, 0);
                                 if (level <= options->max_depth) {
                                         if (myht->nNumOfElements) {
+						options->runtime[level].current_element_nr = 0;
+						options->runtime[level].start_element_nr = 0;
+						options->runtime[level].end_element_nr = options->max_children;
+
                                                 zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_array_element_export_fancy, 4, level, str, debug_zval, options);
                                         } else {
                                                 xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
@@ -910,6 +964,10 @@
                                 xdebug_str_addl(str, "\n", 1, 0);
 #endif
                                 if (level <= options->max_depth) {
+					options->runtime[level].current_element_nr = 0;
+					options->runtime[level].start_element_nr = 0;
+					options->runtime[level].end_element_nr = options->max_children;
+
                                         zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_object_element_export_fancy, 4, level, str, debug_zval, options);
                                 } else {
                                         xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
[FILE: /xdebug/tests/array_map.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- xdebug/tests/array_map.phpt:1.11 Mon Jan 02 15:12:31 2006 GMT
+++ xdebug/tests/array_map.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -11,6 +11,8 @@
 xdebug.profiler_enable=0
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
+xdebug.var_display_max_depth=2
+xdebug.var_display_max_children=3
 --FILE--
 <?php
 $tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/bug00022.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00022.phpt:1.3 Fri Dec 30 13:52:37 2005 GMT
+++ xdebug/tests/bug00022.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -40,7 +40,7 @@
     int(7)
     ["params"]=>
     array(1) {
-      [0]=>
+      ["s"]=>
       string(5) "'bar'"
     }
   }
[FILE: /xdebug/tests/bug00032-ze22.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00032-ze22.phpt:1.3 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/bug00032-ze22.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
 xdebug.collect_params=1
 xdebug.profiler_enable=0
 xdebug.show_local_vars=0
+xdebug.dump_globals=0
 --FILE--
 <?php
         ${1} = "foo";
[FILE: /xdebug/tests/bug00089.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- xdebug/tests/bug00089.phpt:1.4 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/bug00089.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
 xdebug.profiler_enable=0
 xdebug.show_local_vars=0
 html_errors=1
+xdebug.var_display_max_children=3
 --FILE--
 <?php
 var_dump(array(4, array('', 2, 'node'), false));
@@ -16,11 +17,11 @@
 --EXPECT--
 <pre>
 <b>array</b>
-  0 <font color='#888a85'>=></font> <font color='#4e9a06'>4</font>
+  0 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>4</font>
   1 <font color='#888a85'>=></font> 
     <b>array</b>
-      0 <font color='#888a85'>=></font> <font color='#cc0000'>''</font> <i>(length=0)</i>
-      1 <font color='#888a85'>=></font> <font color='#4e9a06'>2</font>
-      2 <font color='#888a85'>=></font> <font color='#cc0000'>'node'</font> <i>(length=4)</i>
-  2 <font color='#888a85'>=></font> <font color='#75507b'>false</font>
+      0 <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>''</font> <i>(length=0)</i>
+      1 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>2</font>
+      2 <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'node'</font> <i>(length=4)</i>
+  2 <font color='#888a85'>=></font> <small>boolean</small> <font color='#75507b'>false</font>
 </pre>
[FILE: /xdebug/tests/bug00173.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00173.phpt:1.3 Mon Oct 23 18:30:59 2006 GMT
+++ xdebug/tests/bug00173.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
 xdebug.dump_globals=0
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
+xdebug.show_local_vars=1
 --FILE--
 <?php
         $trace_file = xdebug_get_tracefile_name();
[FILE: /xdebug/tests/bug00184.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- xdebug/tests/bug00184.phpt:1.2 Sat Aug 19 10:29:08 2006 GMT
+++ xdebug/tests/bug00184.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,8 @@
 xdebug.dump_globals=0
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
+xdebug.var_display_max_depth=2
+xdebug.var_display_max_children=33
 --FILE--
 <?php
         $trace_file = xdebug_get_tracefile_name();
[FILE: /xdebug/tests/get_declared_vars.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- xdebug/tests/get_declared_vars.phpt:1.4 Tue Sep 05 12:46:20 2006 GMT
+++ xdebug/tests/get_declared_vars.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -52,7 +52,11 @@
         register_shutdown_function('s');
 ?>
 --EXPECTF--
-array(0) {
+array(2) {
+  [0]=>
+  string(1) "a"
+  [1]=>
+  string(1) "b"
 }
 5252
 array(2) {
@@ -69,13 +73,15 @@
   string(1) "b"
 }
 1
-array(3) {
+array(4) {
   [0]=>
   string(1) "d"
   [1]=>
   string(1) "a"
   [2]=>
   string(1) "c"
+  [3]=>
+  string(1) "b"
 }
 4254
 array(2) {
[FILE: /xdebug/tests/test1.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- xdebug/tests/test1.phpt:1.18 Mon Jan 02 15:12:31 2006 GMT
+++ xdebug/tests/test1.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -10,6 +10,8 @@
 xdebug.profiler_enable=0
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
+xdebug.var_display_max_depth=1
+xdebug.var_display_max_children=3
 --FILE--
 <?php
         $tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/test12.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- xdebug/tests/test12.phpt:1.15 Fri Sep 29 08:07:17 2006 GMT
+++ xdebug/tests/test12.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
 xdebug.var_display_max_depth=3
+xdebug.var_display_max_children=6
 --FILE--
 <?php
         $tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/test6.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- xdebug/tests/test6.phpt:1.17 Sat Oct 07 21:10:33 2006 GMT
+++ xdebug/tests/test6.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -10,6 +10,7 @@
 xdebug.show_mem_delta=0
 xdebug.profiler_enable=0
 xdebug.var_display_max_depth=3
+xdebug.var_display_max_children=3
 --FILE--
 <?php
         function foo2 ($a, $b, $c)
@@ -24,22 +25,23 @@
 
 Call Stack:
 %w%f %w%d   1. {main}() /%s/test6.php:0
-%w%f %w%d   2. foo2(long, array (1)) /%s/test6.php:7
+%w%f %w%d   2. foo2(long, array(1), ???) /%s/test6.php:7
 
 
-Variables in local scope:
+Variables in local scope (#2):
   $a = 4
-  $c = NULL
+  $c = *uninitialized*
   $b = array (0 => array (0 => 'blaat', 1 => 5, 2 => FALSE))
 
+
 Fatal error: Call to undefined function%sfoo() in /%s/test6.php on line 4
 
 Call Stack:
 %w%f %w%d   1. {main}() /%s/test6.php:0
-%w%f %w%d   2. foo2(long, array(1)) /%s/test6.php:7
+%w%f %w%d   2. foo2(long, array(1), ???) /%s/test6.php:7
 
 
-Variables in local scope:
+Variables in local scope (#2):
   $a = 4
-  $c = NULL
+  $c = *uninitialized*
   $b = array (0 => array (0 => 'blaat', 1 => 5, 2 => FALSE))
[FILE: /xdebug/tests/test8.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- xdebug/tests/test8.phpt:1.17 Fri Sep 29 08:07:17 2006 GMT
+++ xdebug/tests/test8.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
 xdebug.show_mem_delta=0
 xdebug.trace_format=0
 xdebug.var_display_max_depth=5
+xdebug.var_display_max_children=4
 --FILE--
 <?php
 $tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/xdebug_var_dump.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- xdebug/tests/xdebug_var_dump.phpt:1.5 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/xdebug_var_dump.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
 xdebug.profiler_enable=0
 html_errors=1
 date.timezone=Europe/Oslo
+xdebug.var_display_max_children=11
 --FILE--
 <?php
         class TimeStuff {
@@ -35,22 +36,22 @@
 --EXPECT--
 <pre>
 <b>object</b>(<i>TimeStuff</i>)[<i>1</i>]
-  <i>private</i> 'timestamp' <font color='#888a85'>=></font> <font color='#4e9a06'>1092515106</font>
-  <i>private</i> 'user_defined' <font color='#888a85'>=></font> <font color='#75507b'>true</font>
+  <i>private</i> 'timestamp' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>1092515106</font>
+  <i>private</i> 'user_defined' <font color='#888a85'>=></font> <small>boolean</small> <font color='#75507b'>true</font>
   <i>private</i> 'self' <font color='#888a85'>=></font> 
     <i>&</i><b>object</b>(<i>TimeStuff</i>)[<i>1</i>]
   <i>protected</i> 'tm' <font color='#888a85'>=></font> 
     <b>array</b>
-      'seconds' <font color='#888a85'>=></font> <font color='#4e9a06'>6</font>
-      'minutes' <font color='#888a85'>=></font> <font color='#4e9a06'>25</font>
-      'hours' <font color='#888a85'>=></font> <font color='#4e9a06'>22</font>
-      'mday' <font color='#888a85'>=></font> <font color='#4e9a06'>14</font>
-      'wday' <font color='#888a85'>=></font> <font color='#4e9a06'>6</font>
-      'mon' <font color='#888a85'>=></font> <font color='#4e9a06'>8</font>
-      'year' <font color='#888a85'>=></font> <font color='#4e9a06'>2004</font>
-      'yday' <font color='#888a85'>=></font> <font color='#4e9a06'>226</font>
-      'weekday' <font color='#888a85'>=></font> <font color='#cc0000'>'Saturday'</font> <i>(length=8)</i>
-      'month' <font color='#888a85'>=></font> <font color='#cc0000'>'August'</font> <i>(length=6)</i>
-      0 <font color='#888a85'>=></font> <font color='#4e9a06'>1092515106</font>
-  <i>public</i> 'date' <font color='#888a85'>=></font> <font color='#cc0000'>'2004-08-14 22:25:06 CEST'</font> <i>(length=24)</i>
+      'seconds' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>6</font>
+      'minutes' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>25</font>
+      'hours' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>22</font>
+      'mday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>14</font>
+      'wday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>6</font>
+      'mon' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>8</font>
+      'year' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>2004</font>
+      'yday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>226</font>
+      'weekday' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Saturday'</font> <i>(length=8)</i>
+      'month' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'August'</font> <i>(length=6)</i>
+      0 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>1092515106</font>
+  <i>public</i> 'date' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'2004-08-14 22:25:06 CEST'</font> <i>(length=24)</i>
 </pre>
Received on Fri Dec 22 2006 - 14:51:21 GMT
This archive was generated by hypermail 2.2.0 : Sun Jun 24 2018 - 04:00:03 BST