|
@@ -58,8 +58,12 @@ BEGIN {UNCOOPERATIVE, UNCHECKED}
|
|
END Sleep;
|
|
END Sleep;
|
|
|
|
|
|
PROCEDURE Allocate- (size: SIZE): ADDRESS;
|
|
PROCEDURE Allocate- (size: SIZE): ADDRESS;
|
|
|
|
+VAR result, address: ADDRESS;
|
|
BEGIN {UNCOOPERATIVE, UNCHECKED}
|
|
BEGIN {UNCOOPERATIVE, UNCHECKED}
|
|
- RETURN Unix.malloc (size);
|
|
|
|
|
|
+ result := Unix.malloc (size);
|
|
|
|
+ IF result = NIL THEN RETURN NIL END;
|
|
|
|
+ FOR address := result TO result + size - 1 DO SYSTEM.PUT8 (address, 0) END;
|
|
|
|
+ RETURN result;
|
|
END Allocate;
|
|
END Allocate;
|
|
|
|
|
|
PROCEDURE Deallocate- (address: ADDRESS);
|
|
PROCEDURE Deallocate- (address: ADDRESS);
|