소스 검색

* fix Delete() for dynamic arrays

git-svn-id: trunk@34457 -
svenbarth 9 년 전
부모
커밋
f889891466
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  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