diff options
Diffstat (limited to 'CPP/7zip/Archive/Common/HandlerOut.cpp')
-rwxr-xr-x | CPP/7zip/Archive/Common/HandlerOut.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/CPP/7zip/Archive/Common/HandlerOut.cpp b/CPP/7zip/Archive/Common/HandlerOut.cpp index 7c214c3c..0dcf449e 100755 --- a/CPP/7zip/Archive/Common/HandlerOut.cpp +++ b/CPP/7zip/Archive/Common/HandlerOut.cpp @@ -468,6 +468,7 @@ void COutHandler::Init() _level = 5; _autoFilter = true; _volumeMode = false; + _crcSize = 4; InitSolid(); } @@ -481,6 +482,7 @@ void COutHandler::BeforeSetProperty() mainDicSize = 0xFFFFFFFF; mainDicMethodIndex = 0xFFFFFFFF; minNumber = 0; + _crcSize = 4; } HRESULT COutHandler::SetProperty(const wchar_t *nameSpec, const PROPVARIANT &value) @@ -507,6 +509,13 @@ HRESULT COutHandler::SetProperty(const wchar_t *nameSpec, const PROPVARIANT &val return SetSolidSettings(name); } + if (name == L"CRC") + { + _crcSize = 4; + name.Delete(0, 3); + return ParsePropValue(name, value, _crcSize); + } + UInt32 number; int index = ParseStringToUInt32(name, number); UString realName = name.Mid(index); |