Pārlūkot izejas kodu

* fix Delete() for dynamic arrays

git-svn-id: trunk@34457 -
svenbarth 9 gadi atpakaļ
vecāks
revīzija
f889891466
1 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 2 2
      rtl/inc/dynarr.inc

+ 2 - 2
rtl/inc/dynarr.inc

@@ -364,11 +364,11 @@ procedure fpc_dynarray_delete(var p : pointer;source,count : SizeInt;pti : point
      if not assigned(p) or
          (source>pdynarray(p-sizeof(tdynarray))^.high) or
          (count<=0) or
-         (source<=0) then
+         (source<0) then
        exit;
      { cap count }
      if source+count-1>pdynarray(p-sizeof(tdynarray))^.high then
-       count:=pdynarray(p-sizeof(tdynarray))^.high-count+1;
+       count:=pdynarray(p-sizeof(tdynarray))^.high-source+1;
 
      { fast path: delete whole array }
      if (source=0) and (count=pdynarray(p-sizeof(tdynarray))^.high+1) then