From e78c0063c1d58fe319da742239347de50512b087 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 8 Nov 2002 20:39:06 +0000 Subject: [PATCH] 2002-11-08 Jeff Johnston * 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. --- gdb/mi/ChangeLog | 8 ++++++++ gdb/mi/mi-main.c | 28 ++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/gdb/mi/ChangeLog b/gdb/mi/ChangeLog index c59019f513e..d84c87bc450 100644 --- a/gdb/mi/ChangeLog +++ b/gdb/mi/ChangeLog @@ -1,3 +1,11 @@ +2002-11-08 Jeff Johnston + + * 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. + 2002-11-06 Jeff Johnston * mi-cmd-var.c (mi_cmd_var_create): Change the function used to 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 -- 2.30.2