Commit Message
>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:
Eli> I'm okay with treating \r\n as a single \n, but do we really want to
Eli> treat a single \r as if it were \n? I thought systems which used that
Eli> EOL convention are not really widespread, to say the least.
I normally handle \r this way out of habit I suppose. It doesn't matter
that much to me, I guess \r isn't likely to be seen or made by accident.
Tom
commit eb7112d0f11809c25f415fa4f48aa6abe5fd84a4
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 20 14:29:23 2019 -0700
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-21 Tom Tromey <tromey@adacore.com>
* gdbreplay.c (logchar): Handle \r\n.
Comments
> On Feb 21, 2019, at 11:06 AM, Tom Tromey <tromey@adacore.com> wrote:
>
>>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:
>
> Eli> I'm okay with treating \r\n as a single \n, but do we really want to
> Eli> treat a single \r as if it were \n? I thought systems which used that
> Eli> EOL convention are not really widespread, to say the least.
>
> I normally handle \r this way out of habit I suppose. It doesn't matter
> that much to me, I guess \r isn't likely to be seen or made by accident.
Supposedly \r alone is newline in Mac OS 9 and before, which at this point is sufficiently ancient history it may no longer be interesting.
paul
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:
Tom> commit eb7112d0f11809c25f415fa4f48aa6abe5fd84a4
Tom> Author: Tom Tromey <tromey@adacore.com>
Tom> Date: Wed Feb 20 14:29:23 2019 -0700
Tom> Handle \r\n in gdbreplay
[...]
I'm checking this in now.
Tom
@@ -1,3 +1,7 @@
+2019-02-21 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.
@@ -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;