summaryrefslogtreecommitdiff
path: root/gdb/cli/cli-setshow.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-02-10 15:24:37 +0000
committerAndrew Cagney <cagney@redhat.com>2005-02-10 15:24:37 +0000
commit9fb29a5177ffabc2d4345e41f26a785ef2dc7f74 (patch)
treef04851ce96bc14e60e6796eb15c13e0c2b215b3f /gdb/cli/cli-setshow.c
parentc251b710dd479ab63dddc36f86b9801450c31b98 (diff)
downloadgdb-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.c35
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