diff options
author | Andrew Cagney <cagney@redhat.com> | 2005-02-10 15:24:37 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2005-02-10 15:24:37 +0000 |
commit | 899506a887012d40285dfbadfe6991442d1aead9 (patch) | |
tree | 0814064299739779889624ccc29b7a79efc5df82 /gdb/cli | |
parent | e37c699c87aec1399f7e9cac854c41775c4c7603 (diff) | |
download | gdb-899506a887012d40285dfbadfe6991442d1aead9.zip gdb-899506a887012d40285dfbadfe6991442d1aead9.tar.gz gdb-899506a887012d40285dfbadfe6991442d1aead9.tar.bz2 |
2005-02-10 Andrew Cagney <cagney@gnu.org>
* cli/cli-setshow.c (do_setshow_command): Move code printing the
value to the end of the function. Handle MI and non-MI output
differently.
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-setshow.c | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index cf87cf6..73e47a4 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -266,11 +266,6 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c) if (c->pre_show_hook) (c->pre_show_hook) (c); - /* Print doc minus "show" at start. */ - print_doc_line (gdb_stdout, c->doc + 5); - - ui_out_text (uiout, " is "); - ui_out_wrap_hint (uiout, " "); quote = 0; switch (c->var_type) { @@ -333,12 +328,30 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c) default: error ("gdb internal error: bad var_type in do_setshow_command"); } - if (quote) - ui_out_text (uiout, "\""); - ui_out_field_stream (uiout, "value", stb); - if (quote) - ui_out_text (uiout, "\""); - ui_out_text (uiout, ".\n"); + + + /* FIXME: cagney/2005-02-10: Need to split this in half: code to + convert the value into a string (esentially the above); and + code to print the value out. For the latter there should be + MI and CLI specific versions. */ + + if (ui_out_is_mi_like_p (uiout)) + ui_out_field_stream (uiout, "value", stb); + else + { + /* Print doc minus "show" at start. */ + print_doc_line (gdb_stdout, c->doc + 5); + + ui_out_text (uiout, " is "); + ui_out_wrap_hint (uiout, " "); + if (quote) + ui_out_text (uiout, "\""); + ui_out_field_stream (uiout, "value", stb); + if (quote) + ui_out_text (uiout, "\""); + ui_out_text (uiout, ".\n"); + do_cleanups (old_chain); + } do_cleanups (old_chain); } else |