소스 검색

In.Byte fixed, now it sets Done

Arthur Yefimov 1 년 전
부모
커밋
33497f8b7f
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      src/In.Mod

+ 5 - 1
src/In.Mod

@@ -120,7 +120,11 @@ RETURN ok END GetChar;
 (** Puts in `x` the byte at the current position
 %RU Помещает в `x` байт в текущей позиции *)
 PROCEDURE Byte*(VAR x: BYTE);
-BEGIN x := SYSTEM.VAL(BYTE, SHORT(SHORT(GetByte())))
+BEGIN
+  IF readState = eof THEN Done := FALSE; x := 0
+  ELSE x := SYSTEM.VAL(BYTE, SHORT(SHORT(GetByte())));
+    IF readState = eof THEN Done := FALSE END
+  END
 END Byte;
 
 PROCEDURE ReadChar;