2002-11-08 Jeff Johnston <jjohnstn@redhat.com>
authorJeff Johnston <jjohnstn@redhat.com>
Fri, 8 Nov 2002 20:39:06 +0000 (20:39 +0000)
committerJeff Johnston <jjohnstn@redhat.com>
Fri, 8 Nov 2002 20:39:06 +0000 (20:39 +0000)
        * 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
gdb/mi/mi-main.c

index c59019f513e0735ac4f00377976d0d612ebd355b..d84c87bc4501315030651e73ab7676710ec8868d 100644 (file)
@@ -1,3 +1,11 @@
+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.
+
 2002-11-06  Jeff Johnston  <jjohnstn@redhat.com>
 
        * mi-cmd-var.c (mi_cmd_var_create): Change the function used to 
index 5e8b13bda17ba77fca778cda3e8b5d5832efdc05..57ca2183255b377c628bba94dc81167e0253c30d 100644 (file)
@@ -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