mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 01:14:55 -06:00
fix: compile error, using another way to pass down SoleFolderIndex
This commit is contained in:
@@ -24,7 +24,7 @@ Z7_COM7F_IMF(CAgentFolder::SetZoneIdMode(NExtract::NZoneIdMode::EEnum zoneMode))
|
|||||||
|
|
||||||
|
|
||||||
Z7_COM7F_IMF(CAgentFolder::CopyTo(Int32 moveMode, const UInt32 *indices, UInt32 numItems,
|
Z7_COM7F_IMF(CAgentFolder::CopyTo(Int32 moveMode, const UInt32 *indices, UInt32 numItems,
|
||||||
Int32 includeAltStreams, Int32 replaceAltStreamCharsMode, Int64 soleFolderIndex,
|
Int32 includeAltStreams, Int32 replaceAltStreamCharsMode,
|
||||||
const wchar_t *path, IFolderOperationsExtractCallback *callback))
|
const wchar_t *path, IFolderOperationsExtractCallback *callback))
|
||||||
{
|
{
|
||||||
if (moveMode)
|
if (moveMode)
|
||||||
@@ -43,6 +43,9 @@ Z7_COM7F_IMF(CAgentFolder::CopyTo(Int32 moveMode, const UInt32 *indices, UInt32
|
|||||||
NExtract::NPathMode::kNoPathsAlt :
|
NExtract::NPathMode::kNoPathsAlt :
|
||||||
NExtract::NPathMode::kNoPaths;
|
NExtract::NPathMode::kNoPaths;
|
||||||
|
|
||||||
|
Int64 soleFolderIndex;
|
||||||
|
extractCallback2->GetSoleFolderIndex(&soleFolderIndex);
|
||||||
|
|
||||||
return Extract(indices, numItems,
|
return Extract(indices, numItems,
|
||||||
includeAltStreams, replaceAltStreamCharsMode,
|
includeAltStreams, replaceAltStreamCharsMode,
|
||||||
soleFolderIndex,
|
soleFolderIndex,
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ IArchiveFolder is used by:
|
|||||||
x(Extract(const UInt32 *indices, UInt32 numItems, \
|
x(Extract(const UInt32 *indices, UInt32 numItems, \
|
||||||
Int32 includeAltStreams, \
|
Int32 includeAltStreams, \
|
||||||
Int32 replaceAltStreamCharsMode, \
|
Int32 replaceAltStreamCharsMode, \
|
||||||
Int64 soleFolderIndex, \
|
|
||||||
NExtract::NPathMode::EEnum pathMode, \
|
NExtract::NPathMode::EEnum pathMode, \
|
||||||
NExtract::NOverwriteMode::EEnum overwriteMode, \
|
NExtract::NOverwriteMode::EEnum overwriteMode, \
|
||||||
const wchar_t *path, Int32 testMode, \
|
const wchar_t *path, Int32 testMode, \
|
||||||
|
|||||||
@@ -692,6 +692,16 @@ Z7_COM7F_IMF(CExtractCallbackImp::CryptoGetTextPassword(BSTR *password))
|
|||||||
|
|
||||||
#ifndef Z7_SFX
|
#ifndef Z7_SFX
|
||||||
|
|
||||||
|
Z7_COM7F_IMF(CExtractCallbackImp::SetSoleFolderIndex(Int64 soleFolderIndex))
|
||||||
|
{
|
||||||
|
this->SoleFolderIndex = soleFolderIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
Z7_COM7F_IMF(CExtractCallbackImp::GetSoleFolderIndex(Int64 *pSoleFolderIndex))
|
||||||
|
{
|
||||||
|
(*pSoleFolderIndex) = this->SoleFolderIndex;
|
||||||
|
}
|
||||||
|
|
||||||
Z7_COM7F_IMF(CExtractCallbackImp::AskWrite(
|
Z7_COM7F_IMF(CExtractCallbackImp::AskWrite(
|
||||||
const wchar_t *srcPath, Int32 srcIsFolder,
|
const wchar_t *srcPath, Int32 srcIsFolder,
|
||||||
const FILETIME *srcTime, const UInt64 *srcSize,
|
const FILETIME *srcTime, const UInt64 *srcSize,
|
||||||
|
|||||||
@@ -255,6 +255,8 @@ public:
|
|||||||
bool ThereAreMessageErrors;
|
bool ThereAreMessageErrors;
|
||||||
NExtract::NOverwriteMode::EEnum OverwriteMode;
|
NExtract::NOverwriteMode::EEnum OverwriteMode;
|
||||||
|
|
||||||
|
Int64 SoleFolderIndex;
|
||||||
|
|
||||||
#ifndef Z7_NO_CRYPTO
|
#ifndef Z7_NO_CRYPTO
|
||||||
bool PasswordIsDefined;
|
bool PasswordIsDefined;
|
||||||
bool PasswordWasAsked;
|
bool PasswordWasAsked;
|
||||||
@@ -279,6 +281,7 @@ public:
|
|||||||
ProcessAltStreams(true),
|
ProcessAltStreams(true),
|
||||||
StreamMode(false),
|
StreamMode(false),
|
||||||
OverwriteMode(NExtract::NOverwriteMode::kAsk),
|
OverwriteMode(NExtract::NOverwriteMode::kAsk),
|
||||||
|
SoleFolderIndex(-1),
|
||||||
#ifndef Z7_NO_CRYPTO
|
#ifndef Z7_NO_CRYPTO
|
||||||
PasswordIsDefined(false),
|
PasswordIsDefined(false),
|
||||||
PasswordWasAsked(false),
|
PasswordWasAsked(false),
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ Z7_IFACE_CONSTR_FOLDER(IFolderWasChanged, 0x04)
|
|||||||
BSTR *destPathResult, \
|
BSTR *destPathResult, \
|
||||||
Int32 *writeAnswer)) \
|
Int32 *writeAnswer)) \
|
||||||
x(ShowMessage(const wchar_t *message)) \
|
x(ShowMessage(const wchar_t *message)) \
|
||||||
|
x(SetSoleFolderIndex(Int64 soleFolderIndex)) \
|
||||||
|
x(GetSoleFolderIndex(Int64 *pSoleFolderIndex)) \
|
||||||
x(SetCurrentFilePath(const wchar_t *filePath)) \
|
x(SetCurrentFilePath(const wchar_t *filePath)) \
|
||||||
x(SetNumFiles(UInt64 numFiles)) \
|
x(SetNumFiles(UInt64 numFiles)) \
|
||||||
|
|
||||||
|
|||||||
@@ -109,12 +109,14 @@ HRESULT CPanelCopyThread::ProcessVirt()
|
|||||||
options->folder, BoolToInt(true), extractCallback2);
|
options->folder, BoolToInt(true), extractCallback2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
CMyComPtr<IFolderArchiveExtractCallback> extractCallback2;
|
||||||
|
RINOK(ExtractCallback.QueryInterface(IID_IFolderArchiveExtractCallback, &extractCallback2))
|
||||||
|
extractCallback2->SetSoleFolderIndex(options->soleFolderIndex);
|
||||||
result2 = FolderOperations->CopyTo(
|
result2 = FolderOperations->CopyTo(
|
||||||
BoolToInt(options->moveMode),
|
BoolToInt(options->moveMode),
|
||||||
&Indices.Front(), Indices.Size(),
|
&Indices.Front(), Indices.Size(),
|
||||||
BoolToInt(options->includeAltStreams),
|
BoolToInt(options->includeAltStreams),
|
||||||
BoolToInt(options->replaceAltStreamChars),
|
BoolToInt(options->replaceAltStreamChars),
|
||||||
options->soleFolderIndex,
|
|
||||||
options->folder, ExtractCallback);
|
options->folder, ExtractCallback);
|
||||||
|
|
||||||
if (result2 == S_OK && !ExtractCallbackSpec->ThereAreMessageErrors)
|
if (result2 == S_OK && !ExtractCallbackSpec->ThereAreMessageErrors)
|
||||||
|
|||||||
Reference in New Issue
Block a user