From 7e51a4200949719e2d031ec7ab9f3359c935867a Mon Sep 17 00:00:00 2001 From: VictorMiasnikov Date: Mon, 18 Apr 2022 17:17:12 +0300 Subject: [PATCH] Fix runtime error inside m3quake QScanner Fix runtime error inside m3quake QScanner ... *** *** runtime error: *** An enumeration or subrange value was out of range. *** file "../src/QScanner.m3", line 49 *** *** execution of [, ] failed *** ... ... t.buflen := M3File.Read (f, t.buffer^, size); (* VVM: it is line 49 *) ... --- m3-sys/m3quake/src/QScanner.m3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m3-sys/m3quake/src/QScanner.m3 b/m3-sys/m3quake/src/QScanner.m3 index 473129c36e..44dd39d69b 100644 --- a/m3-sys/m3quake/src/QScanner.m3 +++ b/m3-sys/m3quake/src/QScanner.m3 @@ -46,7 +46,7 @@ PROCEDURE Init (t: T; f: File.T; map: Quake.IDMap): T = DO size := VAL(stat.size, INTEGER); t.buffer := NEW (REF ARRAY OF CHAR, MAX (0, size) + 1); - t.buflen := M3File.Read (f, t.buffer^, size); + t.buflen := M3File.Read (f, t.buffer^, MAX (0, size)); IF (t.buflen # size) THEN RETURN NIL; END; t.buffer [t.buflen] := EOFChar; END;