diff options
author | Tom Tromey <tromey@adacore.com> | 2019-02-20 14:29:23 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-02-27 11:54:24 -0700 |
commit | 43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb (patch) | |
tree | fb66de396636c18e085c0e1f8e96e22928ce79a4 | |
parent | 5862844d0f443b9f65e8dd0d85c43f8818d3f355 (diff) | |
download | gdb-43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb.zip gdb-43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb.tar.gz gdb-43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb.tar.bz2 |
Handle \r\n in gdbreplay
I tried gdbreplay yesterday, but the remotelogfile I received was made
on Windows, so the lines were terminated with \r\n rather than plain
\n.
This patch changes gdbreplay to allow \r\n line termination when
reading the log file.
gdb/gdbserver/ChangeLog
2019-02-27 Tom Tromey <tromey@adacore.com>
* gdbreplay.c (logchar): Handle \r\n.
-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; |