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 | 9fb29a5177ffabc2d4345e41f26a785ef2dc7f74 (patch) | |
tree | f04851ce96bc14e60e6796eb15c13e0c2b215b3f /gdb/cli/cli-setshow.c | |
parent | c251b710dd479ab63dddc36f86b9801450c31b98 (diff) | |
download | gdb-9fb29a5177ffabc2d4345e41f26a785ef2dc7f74.tar.gz |
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/cli-setshow.c')
-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 cf87cf6161b..73e47a4348f 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 |