diff options
Diffstat (limited to 'UCoreWorkers.pas')
| -rw-r--r-- | UCoreWorkers.pas | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas index 6ea4268..507e2b7 100644 --- a/UCoreWorkers.pas +++ b/UCoreWorkers.pas @@ -1501,6 +1501,12 @@ begin { if DestEngine.ChangeDir(CurrPath) <> 0 then DebugMsg(['*** WARNING: Cannot change to the origin location, strange behaviour may occur.']); if SrcEngine.ChangeDir(CurrPath) <> 0 then DebugMsg(['*** WARNING: Cannot change to the origin location, strange behaviour may occur.']); } + + // For streaming type archives the list of files to copy strictly needs to be sorted globally according to inode_no + if (SrcEngine is TVFSEngine) and (SrcEngine as TVFSEngine).ArchiveMode and (SrcEngine as TVFSEngine).ArchiveStreamingType then begin + DebugMsg(['Archive type is streaming, performing global filelist sort...']); + FillDirFiles_sort(List); + end; DebugWriteListSL(List); SkipInaccessible := False; |
