FIX: Overwrite older (fixes #1786)

(cherry picked from commit 3df381014e)
This commit is contained in:
Alexander Koblov 2024-08-26 00:15:17 +03:00
commit 3699a78c45
3 changed files with 6 additions and 5 deletions

View file

@ -177,7 +177,8 @@ implementation
uses
uDebug, uDCUtils, uOSUtils, DCStrUtils, FileUtil, uFindEx, DCClassesUtf8, uFileProcs, uLng,
DCBasicTypes, uFileSource, uFileSystemFileSource, uFileProperty, uAdministrator,
StrUtils, DCDateTimeUtils, uShowMsg, Forms, LazUTF8, uHash, uFileCopyEx, SysConst
StrUtils, DCDateTimeUtils, uShowMsg, Forms, LazUTF8, uHash, uFileCopyEx, SysConst,
Math, DateUtils
{$IFDEF UNIX}
, BaseUnix, Unix, DCUnix
{$ENDIF}
@ -1733,7 +1734,7 @@ var
function OverwriteOlder: TFileSourceOperationOptionFileExists;
begin
if aFile.ModificationTime > FileTimeToDateTime(mbFileAge(AbsoluteTargetFileName)) then
if CompareDateTime(aFile.ModificationTime, FileTimeToDateTimeEx(mbFileGetTime(AbsoluteTargetFileName))) = GreaterThanValue then
Result := fsoofeOverwrite
else
Result := fsoofeSkip;

View file

@ -99,7 +99,7 @@ implementation
uses
Forms, LazUTF8, FileUtil, contnrs, DCOSUtils, DCStrUtils, uDCUtils,
fWcxArchiveCopyOperationOptions, uFileSystemUtil,
Math, DateUtils, fWcxArchiveCopyOperationOptions, uFileSystemUtil,
uFileProcs, uLng, DCDateTimeUtils, DCBasicTypes, uShowMsg, DCConvertEncoding;
// ----------------------------------------------------------------------------
@ -627,7 +627,7 @@ var
function OverwriteOlder: TFileSourceOperationOptionFileExists;
begin
if Header.DateTime > FileTimeToDateTime(mbFileAge(AbsoluteTargetFileName)) then
if CompareDateTime(Header.DateTime, FileTimeToDateTimeEx(mbFileGetTime(AbsoluteTargetFileName))) = GreaterThanValue then
Result := fsoofeOverwrite
else
Result := fsoofeSkip;

View file

@ -740,7 +740,7 @@ begin
if FOpenResult <> E_SUCCESS then Exit;
end; // while
ArchiveTime:= FileTimeToDateTime(mbFileAge(ArchiveFileName));
ArchiveTime:= FileTimeToDateTimeEx(mbFileGetTime(ArchiveFileName));
(* if plugin does not give a list of folders *)
for I := 0 to AllDirsList.Count - 1 do