Bläddra i källkod

Fixed hardcoded 32-bit entities

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7842 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 år sedan
förälder
incheckning
4cd3e774d9
2 ändrade filer med 8 tillägg och 8 borttagningar
  1. 3 3
      source/Oberon.Dim3Base.Mod
  2. 5 5
      source/Oberon.OTFonts.Mod

+ 3 - 3
source/Oberon.Dim3Base.Mod

@@ -36,14 +36,14 @@ END GetAddress;
 
 (** ReplConst in previosly set picture with mode replace, H = 1 **)
 PROCEDURE ReplConst*(col, X, Y, W: INTEGER);
-VAR col4: SET; color: CHAR; pictAdr: ADDRESS; color4: ARRAY 4 OF CHAR;
+VAR col4: SET32; color: CHAR; pictAdr: ADDRESS; color4: ARRAY 4 OF CHAR;
 BEGIN
 	color := CHR(col);
 	color4[0] := color; color4[1] := color; color4[2] := color; color4[3] := color;
-	col4 := S.VAL(SET, color4);
+	col4 := S.VAL(SET32, color4);
 	pictAdr := baseAdr + lineW * Y + X;
 	WHILE W > 4 DO S.PUT(pictAdr, col4); DEC(W, 4); INC(pictAdr, 4) END;
 	WHILE W > 0 DO S.PUT(pictAdr, color); DEC(W); INC(pictAdr) END;
 END ReplConst;
 
-END Dim3Base.
+END Dim3Base.

+ 5 - 5
source/Oberon.OTFonts.Mod

@@ -197,7 +197,7 @@ MODULE OTFonts IN Oberon;	(** eos  **)
 	BEGIN
 		font := lib(Font);
 		adr := ADDRESSOF(font.mem[0]);
-		SYSTEM.GET(adr + 4*ref, pat);
+		SYSTEM.GET(adr + SIZEOF (ADDRESS)*ref, pat);
 		IF pat = 0 THEN
 			no := OType.UnicodeToGlyph(font.inst.font, OType.CharToUnicode[ref]);
 			IF no # 0 THEN
@@ -211,9 +211,9 @@ MODULE OTFonts IN Oberon;	(** eos  **)
 				pat := pat+3;
 				font.pattern := pat+2
 			ELSE
-				pat := adr + 4*100H + 3	(* address of default pattern *)
+				pat := adr + SIZEOF (ADDRESS)*100H + 3	(* address of default pattern *)
 			END;
-			SYSTEM.PUT(adr + 4*ref, pat)
+			SYSTEM.PUT(adr + SIZEOF (ADDRESS)*ref, pat)
 		END;
 		SYSTEM.GET(pat-3, ch); Char.dx := ORD(ch);
 		SYSTEM.GET(pat-2, s); Char.x := s;
@@ -284,9 +284,9 @@ MODULE OTFonts IN Oberon;	(** eos  **)
 			font.maxY := SHORT(OTInt.MulDiv(otfont.head.yMax, font.inst.yppm, upm));
 
 			(* allocate space for index, metrics and patterns *)
-			NEW(font.mem, 4*100H + n * (10 + ((font.maxX - font.minX) DIV 8 + 1) * (font.maxY - font.minY)));
+			NEW(font.mem, SIZEOF (ADDRESS)*100H + n * (10 + ((font.maxX - font.minX) DIV 8 + 1) * (font.maxY - font.minY)));
 			adr := ADDRESSOF(font.mem[0]);
-			font.pattern := adr + 4*100H;
+			font.pattern := adr + SIZEOF (ADDRESS)*100H;
 			WHILE adr < font.pattern DO SYSTEM.PUT(adr, LONG(LONG(0))); INC(adr, 4) END;	(* mark as invalid *)
 			GetChar(font, 0, SYSTEM.VAL(Display.Pattern,adr))
 		END