aboutsummaryrefslogtreecommitdiff
path: root/gdb
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
commit899506a887012d40285dfbadfe6991442d1aead9 (patch)
tree0814064299739779889624ccc29b7a79efc5df82 /gdb
parente37c699c87aec1399f7e9cac854c41775c4c7603 (diff)
downloadgdb-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')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/cli/cli-setshow.c35
2 files changed, 30 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7ced885..cb77707 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2005-02-09 Andrew Cagney <cagney@gnu.org>
* cli/cli-decode.c (add_setshow_enum_cmd): Drop set_result and
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