diff options
Diffstat (limited to 'CPP/7zip/UI/Agent')
-rw-r--r-- | CPP/7zip/UI/Agent/Agent.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/CPP/7zip/UI/Agent/Agent.cpp b/CPP/7zip/UI/Agent/Agent.cpp index 9b841ce2..dbcd6fff 100644 --- a/CPP/7zip/UI/Agent/Agent.cpp +++ b/CPP/7zip/UI/Agent/Agent.cpp @@ -1453,7 +1453,12 @@ STDMETHODIMP CAgentFolder::Extract(const UInt32 *indices, pathMode = NExtract::NPathMode::kNoPathnames; */ - extractCallbackSpec->InitForMulti(false, pathMode, overwriteMode); + extractCallbackSpec->InitForMulti( + false, // multiArchives + pathMode, + overwriteMode, + true // keepEmptyDirPrefixes + ); if (extractCallback2) extractCallback2->SetTotal(_agentSpec->GetArc().GetEstmatedPhySize()); @@ -1717,7 +1722,12 @@ STDMETHODIMP CAgent::Extract( COM_TRY_BEGIN CArchiveExtractCallback *extractCallbackSpec = new CArchiveExtractCallback; CMyComPtr<IArchiveExtractCallback> extractCallback = extractCallbackSpec; - extractCallbackSpec->InitForMulti(false, pathMode, overwriteMode); + extractCallbackSpec->InitForMulti( + false, // multiArchives + pathMode, + overwriteMode, + true // keepEmptyDirPrefixes + ); CExtractNtOptions extractNtOptions; extractNtOptions.AltStreams.Val = true; // change it!!! |