24 lines
661 B
Plaintext
24 lines
661 B
Plaintext
PROCEDURE ReadName (VAR str : ARRAY OF CHAR);
|
|
|
|
VAR n : CARDINAL;
|
|
ch, endch : CHAR;
|
|
|
|
BEGIN
|
|
REPEAT
|
|
InOut.Read (ch);
|
|
Exhausted := InOut.EOF ();
|
|
IF Exhausted THEN RETURN END
|
|
UNTIL ch > ' '; (* Eliminate whitespace *)
|
|
IF ch = '[' THEN endch := ']' ELSE endch := ch END;
|
|
n := 0;
|
|
REPEAT
|
|
InOut.Read (ch);
|
|
Exhausted := InOut.EOF ();
|
|
IF Exhausted THEN RETURN END;
|
|
IF n <= HIGH (str) THEN str [n] := ch ELSE ch := endch END;
|
|
INC (n)
|
|
UNTIL ch = endch;
|
|
IF n <= HIGH (str) THEN str [n-1] := 0C END;
|
|
lastCh := ch
|
|
END ReadName;
|