mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 02:52:24 +00:00
fixed overflow in LRealToByteArr; -- noch
This commit is contained in:
parent
047d8b94e7
commit
247852e0b7
1 changed files with 10 additions and 14 deletions
|
|
@ -12,34 +12,30 @@ TYPE pchar = POINTER TO ARRAY 1 OF CHAR;
|
||||||
|
|
||||||
PROCEDURE LongToByteArr* ( l : LONGINT; VAR bar : bytearray); (* noch *)
|
PROCEDURE LongToByteArr* ( l : LONGINT; VAR bar : bytearray); (* noch *)
|
||||||
VAR b : SYSTEM.BYTE;
|
VAR b : SYSTEM.BYTE;
|
||||||
p : pbytearray;
|
adr : SYSTEM.ADDRESS;
|
||||||
i : LONGINT;
|
i : LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
p := SYSTEM.VAL(pbytearray, SYSTEM.ADR(l));
|
adr := SYSTEM.ADR(l);
|
||||||
FOR i := 0 TO SIZE(LONGINT) -1 DO
|
i := 0;
|
||||||
b := p^[i]; bar[i] := b;
|
REPEAT
|
||||||
END
|
SYSTEM.GET(adr + i, b);
|
||||||
|
lar[i] := b;
|
||||||
|
INC(i)
|
||||||
|
UNTIL i = SIZE(LONGINT)
|
||||||
END LongToByteArr;
|
END LongToByteArr;
|
||||||
|
|
||||||
PROCEDURE LRealToByteArr* ( l : LONGREAL; VAR lar : longrealarray); (* noch *)
|
PROCEDURE LRealToByteArr* ( l : LONGREAL; VAR lar : longrealarray); (* noch *)
|
||||||
VAR b : SYSTEM.BYTE;
|
VAR b : SYSTEM.BYTE;
|
||||||
(*adr: SYSTEM.ADDRESS;*)
|
adr: SYSTEM.ADDRESS;
|
||||||
p : plongrealarray;
|
|
||||||
i : LONGINT;
|
i : LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
p := SYSTEM.VAL(plongrealarray, SYSTEM.ADR(l));
|
|
||||||
FOR i := 0 TO SIZE(LONGREAL) -1 DO
|
|
||||||
b := p^[i];
|
|
||||||
lar[i] := b;
|
|
||||||
END
|
|
||||||
(*
|
|
||||||
adr := SYSTEM.ADR(l);
|
adr := SYSTEM.ADR(l);
|
||||||
i := 0;
|
i := 0;
|
||||||
REPEAT
|
REPEAT
|
||||||
SYSTEM.GET(adr + i, b);
|
SYSTEM.GET(adr + i, b);
|
||||||
lar[i] := b;
|
lar[i] := b;
|
||||||
INC(i)
|
INC(i)
|
||||||
UNTIL i = SIZE(LONGREAL);*)
|
UNTIL i = SIZE(LONGREAL);
|
||||||
END LRealToByteArr;
|
END LRealToByteArr;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue