diff options
author | Tom Tromey <tromey@redhat.com> | 2013-10-17 18:29:28 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-10-17 18:29:28 +0000 |
commit | 50b34a18edaf0f2112d03f62f2816b920203ac07 (patch) | |
tree | f5bc54821953807e163447e281b3966cbe407110 /gdb/printcmd.c | |
parent | 5c4c8a591172c0f427f3bf118f5beaaa0b2b7c39 (diff) | |
download | gdb-50b34a18edaf0f2112d03f62f2816b920203ac07.zip gdb-50b34a18edaf0f2112d03f62f2816b920203ac07.tar.gz gdb-50b34a18edaf0f2112d03f62f2816b920203ac07.tar.bz2 |
fix for PR gdb/15995
This patch fixes PR gdb/15995.
The bug here is that gdb's printf command does not flush the output
stream. This makes a printf that is not newline-terminated interleave
incorrectly with other forms of output, such as that generated via a
call to an external program using "shell".
I note that the "output" command already does this flushing.
The fix is to call gdb_flush in printf_command.
Built and regtested on x86-64 Fedora 18.
New test case included.
PR gdb/15995:
* printcmd.c (printcmd): Call gdb_flush.
* gdb.base/printcmds.exp (test_printf): Test printf flushing.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 751cd2b..9bca6dd 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -2458,6 +2458,7 @@ static void printf_command (char *arg, int from_tty) { ui_printf (arg, gdb_stdout); + gdb_flush (gdb_stdout); } /* Implement the "eval" command. */ |