diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-11-08 20:39:06 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-11-08 20:39:06 +0000 |
commit | 9e83a5ade362734f28688825e1557fe578e7b15a (patch) | |
tree | 44be975b9e73df86e827459a5c6cf0c7e3b8c686 /gdb/mi/mi-main.c | |
parent | cc339ce610ba2ad69378f4672b7d4edc3b47c569 (diff) | |
download | gdb-9e83a5ade362734f28688825e1557fe578e7b15a.tar.gz |
2002-11-08 Jeff Johnston <jjohnstn@redhat.com>
* mi-main.c (mi_command_loop): Initialize raw_stdout and gdb_stdout
only if mi version is <= 1.
(mi_init_ui): Initialize raw_stdout and gdb_stdout if mi version
is > 1 so startup message is treated as console output. This is
part of fix for PR gdb/604.
Diffstat (limited to 'gdb/mi/mi-main.c')
-rw-r--r-- | gdb/mi/mi-main.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 5e8b13bda17..57ca2183255 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1464,12 +1464,16 @@ mi_load_progress (const char *section_name, static void mi_command_loop (int mi_version) { - /* HACK: Force stdout/stderr to point at the console. This avoids - any potential side effects caused by legacy code that is still - using the TUI / fputs_unfiltered_hook */ - raw_stdout = stdio_fileopen (stdout); - /* Route normal output through the MIx */ - gdb_stdout = mi_console_file_new (raw_stdout, "~"); + if (mi_version <= 1) + { + /* HACK: Force stdout/stderr to point at the console. This avoids + any potential side effects caused by legacy code that is still + using the TUI / fputs_unfiltered_hook */ + raw_stdout = stdio_fileopen (stdout); + /* Route normal output through the MIx */ + gdb_stdout = mi_console_file_new (raw_stdout, "~"); + } + /* Route error and log output through the MI */ gdb_stderr = mi_console_file_new (raw_stdout, "&"); gdb_stdlog = gdb_stderr; @@ -1541,8 +1545,16 @@ setup_architecture_data (void) static void mi_init_ui (char *arg0) { - /* Eventually this will contain code that takes control of the - console. */ + if (strlen (interpreter_p) <= 2 || + interpreter_p[2] > '1') + { + /* HACK: Force stdout/stderr to point at the console. This avoids + any potential side effects caused by legacy code that is still + using the TUI / fputs_unfiltered_hook */ + raw_stdout = stdio_fileopen (stdout); + /* Route normal output through the MIx */ + gdb_stdout = mi_console_file_new (raw_stdout, "~"); + } } void |