diff options
-rw-r--r-- | gdb/gdbserver/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/gdbserver/gdbreplay.c | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index e9fe5ab..b608659 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,7 @@ +2019-02-27 Tom Tromey <tromey@adacore.com> + + * gdbreplay.c (logchar): Handle \r\n. + 2019-02-07 Alan Hayward <alan.hayward@arm.com> * linux-low.c (linux_attach): Add process before lwp. diff --git a/gdb/gdbserver/gdbreplay.c b/gdb/gdbserver/gdbreplay.c index 26a5553..bda8095 100644 --- a/gdb/gdbserver/gdbreplay.c +++ b/gdb/gdbserver/gdbreplay.c @@ -316,10 +316,26 @@ logchar (FILE *fp) int ch2; ch = fgetc (fp); - fputc (ch, stdout); - fflush (stdout); + if (ch != '\r') + { + fputc (ch, stdout); + fflush (stdout); + } switch (ch) { + /* Treat \r\n as a newline. */ + case '\r': + ch = fgetc (fp); + if (ch == '\n') + ch = EOL; + else + { + ungetc (ch, fp); + ch = '\r'; + } + fputc (ch == EOL ? '\n' : '\r', stdout); + fflush (stdout); + break; case '\n': ch = EOL; break; |