mirror of
https://github.com/moparisthebest/Simba
synced 2024-11-11 03:45:06 -05:00
Fixed some stuff in PS.
git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@57 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
parent
f8e5ca80fd
commit
497c55de60
@ -1856,7 +1856,7 @@ begin
|
||||
t := TPSTypeRec_Array(aType).ArrayType;
|
||||
elsize := t.RealSize;
|
||||
darr := Pointer(IPointer(darr) + PointerSize);
|
||||
l := Longint(darr^);
|
||||
l := Longint(darr^) {$IFDEF FPC} + 1 {$ENDIF};
|
||||
darr := Pointer(IPointer(darr) + PointerSize);
|
||||
case t.BaseType of
|
||||
btString, {$IFNDEF PS_NOWIDESTRING}
|
||||
@ -4108,7 +4108,7 @@ end;
|
||||
function PSDynArrayGetLength(arr: Pointer; aType: TPSTypeRec): Longint;
|
||||
begin
|
||||
if aType.BaseType <> btArray then raise Exception.Create(RPS_InvalidArray);
|
||||
if arr = nil then Result := 0 else Result := Longint(Pointer(IPointer(arr)-PointerSize)^) + 1;
|
||||
if arr = nil then Result := 0 else Result := Longint(Pointer(IPointer(arr)-PointerSize)^) {$IFDEF FPC}+ 1{$ENDIF};
|
||||
end;
|
||||
|
||||
procedure PSDynArraySetLength(var arr: Pointer; aType: TPSTypeRec; NewLength: Longint);
|
||||
@ -4136,7 +4136,7 @@ begin
|
||||
end;
|
||||
ReallocMem(arr, NewLength * elSize + PointerSize2);
|
||||
arr := Pointer(IPointer(Arr)+PointerSize);
|
||||
Longint(Arr^) := NewLength - 1;
|
||||
Longint(Arr^) := NewLength {$IFDEF FPC} - 1{$ENDIF};
|
||||
arr := Pointer(IPointer(Arr)+PointerSize);
|
||||
for i := OldLen to NewLength -1 do
|
||||
begin
|
||||
@ -4156,7 +4156,7 @@ begin
|
||||
GetMem(p, NewLength * elSize + PointerSize2);
|
||||
Longint(p^) := 1;
|
||||
p:= Pointer(IPointer(p)+PointerSize);
|
||||
Longint(p^) := NewLength - 1;
|
||||
Longint(p^) := NewLength {$IFDEF FPC} - 1{$ENDIF};
|
||||
p := Pointer(IPointer(p)+PointerSize);
|
||||
if OldLen <> 0 then
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user