From 9c5320aee532d73d34946d9dd8782842b5551e6d Mon Sep 17 00:00:00 2001 From: Ivan Sukin Date: Sat, 12 Nov 2016 02:07:59 +0400 Subject: [PATCH] Update Files.Mod --- src/system/Files.Mod | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/system/Files.Mod b/src/system/Files.Mod index 9c59b08d..dce692c5 100644 --- a/src/system/Files.Mod +++ b/src/system/Files.Mod @@ -642,14 +642,19 @@ Especially Length would become fairly complex. END ReadString; PROCEDURE ReadLine* (VAR R: Rider; VAR x: ARRAY OF CHAR); - VAR i: INTEGER; ch: CHAR; b : BOOLEAN; pos: LONGINT; + VAR i: INTEGER; ch: CHAR; b : BOOLEAN; pos: LONGINT; tail: INTEGER; BEGIN i := 0; b := FALSE; - pos := Pos(R); + pos := Pos(R); + tail := 0; REPEAT Read(R, ch); IF ((ch = 0X) OR (ch = 0AX) OR (ch = 0DX)) THEN + IF (ch = 0X) THEN + tail := 1; + ELSE + tail := Strings.Length(Platform.nl); b := TRUE ELSE x[i] := ch; @@ -657,7 +662,7 @@ Especially Length would become fairly complex. END; UNTIL b; x[i] := 0X; - IF ~R.eof THEN Set(R, R.buf.f, pos + i + 1); END; + IF ~R.eof THEN Set(R, R.buf.f, pos + i + tail); END; END ReadLine; PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);