fix for PR gdb/15995
authorTom Tromey <tromey@redhat.com>
Thu, 17 Oct 2013 18:29:28 +0000 (18:29 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 17 Oct 2013 18:29:28 +0000 (18:29 +0000)
commit50b34a18edaf0f2112d03f62f2816b920203ac07
treef5bc54821953807e163447e281b3966cbe407110
parent5c4c8a591172c0f427f3bf118f5beaaa0b2b7c39
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.
gdb/ChangeLog
gdb/printcmd.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/printcmds.exp