From: krakjoe Date: Mon, 18 Nov 2013 23:04:20 +0000 (+0000) Subject: changes to info X-Git-Tag: php-5.6.0alpha1~110^2~219 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1051564059d6e8a1a8e802c78a9eb9348327ed3c;p=php changes to info --- diff --git a/phpdbg_bp.c b/phpdbg_bp.c index e69b9fa9b3..235990924f 100644 --- a/phpdbg_bp.c +++ b/phpdbg_bp.c @@ -110,7 +110,7 @@ void phpdbg_set_breakpoint_method(const char* class_name, const char* func_name HashTable class_breaks, *class_table; size_t class_len = strlen(class_name); size_t func_len = strlen(func_name); - + if (zend_hash_find(&PHPDBG_G(bp)[PHPDBG_BREAK_METHOD], class_name, class_len, (void**)&class_table) != SUCCESS) { zend_hash_init(&class_breaks, 8, NULL, phpdbg_class_breaks_dtor, 0); @@ -291,6 +291,9 @@ int phpdbg_find_breakpoint_symbol(zend_function *fbc TSRMLS_DC) /* {{{ */ return FAILURE; } /* }}} */ +/* +* @TODO(anyone) this is case sensitive +*/ int phpdbg_find_breakpoint_method(zend_op_array *ops TSRMLS_DC) /* {{{ */ { HashTable *class_table; diff --git a/phpdbg_info.c b/phpdbg_info.c index 359a783904..f633038307 100644 --- a/phpdbg_info.c +++ b/phpdbg_info.c @@ -81,46 +81,48 @@ PHPDBG_INFO(vars) /* {{{ */ phpdbg_notice("Variables: %d", zend_hash_num_elements(&vars)); - phpdbg_writeln("Address\t\tRefs\tType\t\tName"); + + if (zend_hash_num_elements(&vars)) { + phpdbg_writeln("Address\t\tRefs\tType\t\tVariable"); + for (zend_hash_internal_pointer_reset_ex(&vars, &pos); + zend_hash_get_current_data_ex(&vars, (void**) &data, &pos) == SUCCESS; + zend_hash_move_forward_ex(&vars, &pos)) { + char *var; - for (zend_hash_internal_pointer_reset_ex(&vars, &pos); - zend_hash_get_current_data_ex(&vars, (void**) &data, &pos) == SUCCESS; - zend_hash_move_forward_ex(&vars, &pos)) { - char *var; + zend_hash_get_current_key_ex(&vars, &var, NULL, NULL, 0, &pos); - zend_hash_get_current_key_ex(&vars, &var, NULL, NULL, 0, &pos); - - if (*data) { - phpdbg_write( - "%p\t%d\t", - *data, - Z_REFCOUNT_PP(data)); - - switch (Z_TYPE_PP(data)) { - case IS_STRING: phpdbg_write("(string)\t"); break; - case IS_LONG: phpdbg_write("(integer)\t"); break; - case IS_DOUBLE: phpdbg_write("(float)\t"); break; - case IS_RESOURCE: phpdbg_write("(resource)\t"); break; - case IS_ARRAY: phpdbg_write("(array)\t"); break; - case IS_OBJECT: phpdbg_write("(object)\t"); break; - case IS_NULL: phpdbg_write("(null)\t"); break; - } - - if (Z_TYPE_PP(data) == IS_OBJECT) { - phpdbg_writeln( - "%s$%s", Z_ISREF_PP(data) ? "&": "", var); + if (*data) { phpdbg_write( - "|-----(instanceof)----> (%s)", Z_OBJCE_PP(data)->name); - phpdbg_writeln(EMPTY); + "%p\t%d\t", + *data, + Z_REFCOUNT_PP(data)); + + switch (Z_TYPE_PP(data)) { + case IS_STRING: phpdbg_write("(string)\t"); break; + case IS_LONG: phpdbg_write("(integer)\t"); break; + case IS_DOUBLE: phpdbg_write("(float)\t"); break; + case IS_RESOURCE: phpdbg_write("(resource)\t"); break; + case IS_ARRAY: phpdbg_write("(array)\t"); break; + case IS_OBJECT: phpdbg_write("(object)\t"); break; + case IS_NULL: phpdbg_write("(null)\t"); break; + } + + if (Z_TYPE_PP(data) == IS_OBJECT) { + phpdbg_writeln( + "%s$%s", Z_ISREF_PP(data) ? "&": "", var); + phpdbg_write( + "|-----(instanceof)----> (%s)", Z_OBJCE_PP(data)->name); + phpdbg_writeln(EMPTY); + } else { + phpdbg_write( + "%s$%s", Z_ISREF_PP(data) ? "&": "", var); + } } else { phpdbg_write( - "%s$%s", Z_ISREF_PP(data) ? "&": "", var); + "n/a\tn/a\tn/a\t$%s", var); } - } else { - phpdbg_write( - "n/a\tn/a\tn/a\t$%s", var); + phpdbg_writeln(EMPTY); } - phpdbg_writeln(EMPTY); } zend_hash_destroy(&vars);