浏览代码

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;