aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2019-02-20 14:29:23 -0700
committerTom Tromey <tromey@adacore.com>2019-02-27 11:54:24 -0700
commit43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb (patch)
treefb66de396636c18e085c0e1f8e96e22928ce79a4
parent5862844d0f443b9f65e8dd0d85c43f8818d3f355 (diff)
downloadgdb-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/ChangeLog4
-rw-r--r--gdb/gdbserver/gdbreplay.c20
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;