Re: [TUI] correctly display windows source files

Denis PILAT
2006-10-11T08:02:20Z

[-- Attachment #1: Type: text/plain, Size: 445 bytes --]

>
>
>That could be so, but I'd prefer that our code didn't do anything that
>could fail, even theoretically. We shouldn't call functions with
>arguments that invoke undefined or uncertain behavior.
>
>It should be a simple matter of adding a test for EOF.
>
You're right, I can not do testing on all hosts and libc.
Attached a new proposal.

In the case of "'\r'EOF" we keep EOF in "c" variable and we exit the
while just below anyway.

Denis

[-- Attachment #2: tui-source.c.patch --]
[-- Type: text/plain, Size: 789 bytes --]

2006-10-09 Denis Pilat <denis.pilat@st.com>

* tui-source.c (tui_set_source_content): handle source files that
contain non unix end-of-line.

Index: tui/tui-source.c
===================================================================
--- tui/tui-source.c (revision 529)
+++ tui/tui-source.c (working copy)
@@ -194,6 +194,14 @@ tui_set_source_content (struct symtab *s
chars until we do */
while (c != EOF && c != '\n' && c != '\r')
c = fgetc (stream);
+ /* Handle non-'\n' end-of-line. */
+ if (c == '\r' &&
+ (c = fgetc (stream)) != '\n' && c != EOF)
+ {
+ ungetc (c, stream);
+ c = '\r';
+ }
+
}
}
while (c != EOF && c != '\n' && c != '\r' &&