aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/tui/tui-source.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 10993b3..ab1f1f9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-11 Denis Pilat <denis.pilat@st.com>
+
+ * tui/tui-source.c (tui_set_source_content): handle source
+ files that contain non unix end-of-line.
+
2006-10-10 Daniel Jacobowitz <dan@codesourcery.com>
* ser-mingw.c (free_pipe_state, pipe_wait_handle): Update
diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c
index c7bcea6..3460324 100644
--- a/gdb/tui/tui-source.c
+++ b/gdb/tui/tui-source.c
@@ -194,6 +194,14 @@ tui_set_source_content (struct symtab *s, int line_no, int noerror)
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' &&