From: Jan Kratochvil Date: Fri, 10 Jul 2009 14:18:14 +0000 (+0000) Subject: gdb/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e9ef2a82d0dcbe60b0d877dec44f47da2973efe;p=binutils-gdb.git gdb/ Tidy up the code. * mi/mi-cmd-var.c (mi_cmd_var_update): Remove variable nv. Move variables var, rootlist and cr to their local sub-block. Move the make_cleanup_ui_out_tuple_begin_end, make_cleanup_ui_out_list_begin_end and do_cleanups calls to the common base block. Remove the zero NV check. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed7c6d5a4bc..68895386493 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2009-07-10 Jan Kratochvil + + Tidy up the code. + * mi/mi-cmd-var.c (mi_cmd_var_update): Remove variable nv. Move + variables var, rootlist and cr to their local sub-block. Move the + make_cleanup_ui_out_tuple_begin_end, make_cleanup_ui_out_list_begin_end + and do_cleanups calls to the common base block. Remove the zero NV + check. + 2009-07-10 Phil Muldoon * python/python-internal.h (apply_varobj_pretty_printer): Update diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c index a7fea36ef90..55ccdbd40f5 100644 --- a/gdb/mi/mi-cmd-var.c +++ b/gdb/mi/mi-cmd-var.c @@ -569,12 +569,8 @@ mi_cmd_var_assign (char *command, char **argv, int argc) void mi_cmd_var_update (char *command, char **argv, int argc) { - struct varobj *var; - struct varobj **rootlist; - struct varobj **cr; struct cleanup *cleanup; char *name; - int nv; enum print_values print_values; if (argc != 1 && argc != 2) @@ -590,54 +586,51 @@ mi_cmd_var_update (char *command, char **argv, int argc) else print_values = PRINT_NO_VALUES; + if (mi_version (uiout) <= 1) + cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, "changelist"); + else + cleanup = make_cleanup_ui_out_list_begin_end (uiout, "changelist"); + /* Check if the parameter is a "*" which means that we want to update all variables */ if ((*name == '*' || *name == '@') && (*(name + 1) == '\0')) { - nv = varobj_list (&rootlist); - cleanup = make_cleanup (xfree, rootlist); - if (mi_version (uiout) <= 1) - make_cleanup_ui_out_tuple_begin_end (uiout, "changelist"); - else - make_cleanup_ui_out_list_begin_end (uiout, "changelist"); - if (nv <= 0) - { - do_cleanups (cleanup); - return; - } + struct varobj **rootlist, **cr; + + varobj_list (&rootlist); + make_cleanup (xfree, rootlist); + for (cr = rootlist; *cr != NULL; cr++) { int thread_id = varobj_get_thread_id (*cr); int thread_stopped = 0; + if (thread_id == -1 && is_stopped (inferior_ptid)) thread_stopped = 1; else - { + { struct thread_info *tp = find_thread_id (thread_id); if (tp) thread_stopped = is_stopped (tp->ptid); else thread_stopped = 1; } + if (thread_stopped) if (*name == '*' || varobj_floating_p (*cr)) varobj_update_one (*cr, print_values, 0 /* implicit */); } - do_cleanups (cleanup); } else { /* Get varobj handle, if a valid var obj name was specified */ - var = varobj_get_handle (name); + struct varobj *var = varobj_get_handle (name); - if (mi_version (uiout) <= 1) - cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, "changelist"); - else - cleanup = make_cleanup_ui_out_list_begin_end (uiout, "changelist"); varobj_update_one (var, print_values, 1 /* explicit */); - do_cleanups (cleanup); } + + do_cleanups (cleanup); } /* Helper for mi_cmd_var_update(). */