summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2024-12-21 21:53:53 +0100
committerTomas Bzatek <tbzatek@redhat.com>2024-12-21 21:53:53 +0100
commite0e900b5d93160281e582a40d86c652f9b71f30e (patch)
tree368303a5d5a594534652ea656f6378735159dbae
parent7bf34513767bfd63a19fd7c420e8d825e50bf232 (diff)
downloadtuxcmd-e0e900b5d93160281e582a40d86c652f9b71f30e.tar.xz
Fix same file comparison between VFS enginesHEADmaster
-rw-r--r--UCoreWorkers.pas4
1 files changed, 4 insertions, 0 deletions
diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas
index 709de2b..c6a8d28 100644
--- a/UCoreWorkers.pas
+++ b/UCoreWorkers.pas
@@ -1206,6 +1206,10 @@ var DefResponse: integer; // Global variables for this function
((SrcEngine as TVFSEngine).ArchivePath <> '') and
((SrcEngine as TVFSEngine).ArchivePath <> (DestEngine as TVFSEngine).ArchivePath)
then Result := False else
+ if (SrcEngine is TVFSEngine) and (DestEngine is TVFSEngine) and
+ not (SrcEngine as TVFSEngine).ArchiveMode and not (DestEngine as TVFSEngine).ArchiveMode and
+ ((SrcEngine as TVFSEngine).GetPathURI <> (DestEngine as TVFSEngine).GetPathURI)
+ then Result := False else
if WideCompareStr(Path1, Path2) = 0 then Result := True else
// * FIXME: causes stat errors, no need to check every file.
Result := TestCaseInsensitiveFS and DestEngine.TwoSameFiles(Path1, Path2, False);