diff --git a/rtl/palmos/palmos.inc b/rtl/palmos/palmos.inc index 1911f05dad..a66950d9f9 100644 --- a/rtl/palmos/palmos.inc +++ b/rtl/palmos/palmos.inc @@ -65,4 +65,11 @@ const procedure SndPlaySystemSound(beepID: Word); syscall sysTrapSndPlaySystemSound; +const + sysTrapMemChunkFree = $A012; + sysTrapMemPtrNew = $A013; + +function MemPtrNew(size: UInt32): MemPtr; syscall sysTrapMemPtrNew; +function MemPtrFree(chunkDataP: MemPtr): Err; syscall sysTrapMemChunkFree; + {$PACKRECORDS DEFAULT} diff --git a/rtl/palmos/sysheap.inc b/rtl/palmos/sysheap.inc index b2d425415c..7db99d6cea 100644 --- a/rtl/palmos/sysheap.inc +++ b/rtl/palmos/sysheap.inc @@ -20,10 +20,13 @@ function SysOSAlloc(size: ptruint): pointer; begin + SysOSAlloc:=MemPtrNew(size); end; {$define HAS_SYSOSFREE} procedure SysOSFree(p: pointer; size: ptruint); begin + if (p <> nil) then + MemPtrFree(p); end;