diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2011-08-05 12:00:28 +0200 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2011-08-05 12:00:28 +0200 |
| commit | 734059c6f8954379aeafbde3e65ea593c7a94ff7 (patch) | |
| tree | a1f959cf613b87843de5f09e4649fb9860df1947 /UCoreWorkers.pas | |
| parent | fcf1ed7ce1eafa53bf9bf12476abd1c6fde5fc62 (diff) | |
| download | tuxcmd-734059c6f8954379aeafbde3e65ea593c7a94ff7.tar.xz | |
Do not use Inc() on Int64 and 32-bit architecture
Apparently another bug in FPC, let's avoid using Inc() for large numbers.
Diffstat (limited to 'UCoreWorkers.pas')
| -rw-r--r-- | UCoreWorkers.pas | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas index 00b0672..7c0fb02 100644 --- a/UCoreWorkers.pas +++ b/UCoreWorkers.pas @@ -1059,7 +1059,7 @@ var DefResponse: integer; // Global variables for this function // * TODO: set real error, also free it Res := CopyFilesWorker_ErrorFunc(Self, 7, 1 { Error }, DestFile); // Cannot write to source file end; - Inc(BytesDone, BytesRead); + BytesDone := BytesDone + BytesRead; if not CopyFilesWorker_ProgressFunc(Self, BytesDone, nil) then begin Res := False; Break; @@ -1498,7 +1498,7 @@ begin if List.Count > 0 then for i := 0 to List.Count - 1 do if PDataItemSL(List[i])^.Stage1 and (PDataItemSL(List[i])^.DataItem^.Size > 0) and (not PDataItemSL(List[i])^.DataItem^.IsDir) and (not PDataItemSL(List[i])^.DataItem^.IsLnk) - then Inc(FTotalSize, PDataItemSL(List[i])^.DataItem^.Size); + then FTotalSize := FTotalSize + PDataItemSL(List[i])^.DataItem^.Size; SrcEngine.BlockSize := ComputeBlockSize(FTotalSize); DestEngine.BlockSize := ComputeBlockSize(FTotalSize); @@ -1550,7 +1550,7 @@ begin Break; end; if (not PDataItemSL(List[i])^.DataItem^.IsDir) and (not PDataItemSL(List[i])^.DataItem^.IsLnk) - then Inc(FTotalDone, PDataItemSL(List[i])^.DataItem^.Size); + then FTotalDone := FTotalDone + PDataItemSL(List[i])^.DataItem^.Size; if FCancelled then begin FCancelMessage := LANGUserCancelled; FShowCancelMessage := True; @@ -1636,7 +1636,7 @@ var FD: TEngineFileDes; end; CurrentCRC := CRC32(CurrentCRC, Buffer, Count); UpdateProgress1(FProgress1Pos + Count, Format('%d %%', [Trunc((FProgress1Pos + Count) / FProgress1Max * 100)])); - Inc(SizeDone, Count); + SizeDone := SizeDone + Count; if MergeHasInitialCRC then UpdateProgress2(SizeDone, Format('%d %%', [Trunc(SizeDone / FProgress2Max * 100)])); CommitGUIUpdate; until (Count < MergeBlockSize) or FCancelled; @@ -1788,7 +1788,7 @@ var FD: TEngineFileDes; end; // * TODO: check error wCount := AEngine.WriteFile(FDW, Buffer, Count, @Error); - Inc(Written, wCount); + Written := Written + wCount; FileCRC := CRC32(FileCRC, Buffer, wCount); if (Error <> nil) or (Count <> wCount) then begin // * TODO: set real error, also free it @@ -1945,7 +1945,7 @@ begin PrivateCancel := True; Break; end; - Inc(SizeDone, ws); + SizeDone := SizeDone + ws; if SplitMaxSize > 0 then UpdateProgress2(SizeDone, Format('%d %%', [Trunc(SizeDone / FileSize * 100)])) else UpdateProgress1(SizeDone, Format('%d %%', [Trunc(SizeDone / FileSize * 100)])); CommitGUIUpdate; |
