Remove redundant writer in OPM. Fix Files.Readline for CR/LF and guarantee 0 termination.

This commit is contained in:
David Brown 2016-11-11 18:23:31 +00:00
parent ef815aa131
commit ed7043324d
201 changed files with 255 additions and 1552 deletions

View file

@ -642,19 +642,12 @@ 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;
VAR i: INTEGER;
BEGIN
i := 0;
b := FALSE;
REPEAT
Read(R, ch);
IF ((ch = 0X) OR (ch = 0AX) OR (ch = 0DX)) THEN
b := TRUE
ELSE
x[i] := ch;
INC(i);
END;
UNTIL b
i := 0; REPEAT Read(R, x[i]); INC(i) UNTIL (x[i-1] = 0X) OR (x[i-1] = 0AX);
IF x[i-1] = 0AX THEN DEC(i) END; (* Omit trailing LF *)
IF (i > 0) & (x[i-1] = 0DX) THEN DEC(i) END; (* Also omit preceeding trailing CR if present. *)
x[i] := 0X; (* Guarantee zero termination. *)
END ReadLine;
PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE);