Patch for gdb/mi 604

J. Johnston
2002-10-02T18:39:13Z

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

The following patches mi-main.c to turn on the console output prefix prior
to outputting the gdb startup messages. The code checks for mi level
and defers to old behavior for mi1.

Ok to commit?

mi/ChangeLog:

2002-10-02 Jeff Johnston <jjohnstn@redhat.com>

* mi-main.c: (mi_init_ui): If mi level > 1, set up gdb_stdout with
console prefix. Fix for PR gdb/604.
(mi_command_loop): Add check for mi level. If <= 1, set up gdb_stdout
with console prefix.

-- Jeff J.

[-- Attachment #2: 604.patch --]
[-- Type: text/plain, Size: 1790 bytes --]

Index: mi/mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.32
diff -u -r1.32 mi-main.c
--- mi/mi-main.c 1 Oct 2002 21:15:43 -0000 1.32
+++ mi/mi-main.c 2 Oct 2002 18:34:12 -0000
@@ -1459,12 +1459,16 @@
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;
@@ -1536,8 +1540,16 @@
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