diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2024-05-23 16:51:51 +0000 |
---|---|---|
committer | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2024-05-23 16:51:51 +0000 |
commit | 74889e9e6dab98eaecc6de47240997a02b97f65e (patch) | |
tree | 5f77f5c74697ca629dcafe3cd877c1f8800ed0b0 /CPP/7zip/Archive/ZHandler.cpp | |
parent | 161965423588d0d35108fde806bfb6c0b191035e (diff) | |
download | lzma-74889e9e6dab98eaecc6de47240997a02b97f65e.tar.gz |
Upgrade lzma to 24.05
This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update external/lzma
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
Test: TreeHugger
Change-Id: I2acd5f13fec909dfb40cc5c95a9606c4376672ec
Diffstat (limited to 'CPP/7zip/Archive/ZHandler.cpp')
-rw-r--r-- | CPP/7zip/Archive/ZHandler.cpp | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/CPP/7zip/Archive/ZHandler.cpp b/CPP/7zip/Archive/ZHandler.cpp index 18e712a..1caef34 100644 --- a/CPP/7zip/Archive/ZHandler.cpp +++ b/CPP/7zip/Archive/ZHandler.cpp @@ -89,7 +89,7 @@ API_FUNC_static_IsArc IsArc_Z(const Byte *p, size_t size) if (size < 3) return k_IsArc_Res_NEED_MORE; if (size > NCompress::NZ::kRecommendedCheckSize) - size = NCompress::NZ::kRecommendedCheckSize; + size = NCompress::NZ::kRecommendedCheckSize; if (!NCompress::NZ::CheckStream(p, size)) return k_IsArc_Res_NO; return k_IsArc_Res_YES; @@ -166,13 +166,12 @@ Z7_COM7F_IMF(CHandler::Extract(const UInt32 *indices, UInt32 numItems, return S_OK; if (numItems != (UInt32)(Int32)-1 && (numItems != 1 || indices[0] != 0)) return E_INVALIDARG; - - extractCallback->SetTotal(_packSize); - + RINOK(extractCallback->SetTotal(_packSize)) UInt64 currentTotalPacked = 0; - RINOK(extractCallback->SetCompleted(¤tTotalPacked)) + int opRes; + { CMyComPtr<ISequentialOutStream> realOutStream; const Int32 askMode = testMode ? NExtract::NAskMode::kTest : @@ -183,37 +182,33 @@ Z7_COM7F_IMF(CHandler::Extract(const UInt32 *indices, UInt32 numItems, if (!testMode && !realOutStream) return S_OK; - extractCallback->PrepareOperation(askMode); + RINOK(extractCallback->PrepareOperation(askMode)) - CDummyOutStream *outStreamSpec = new CDummyOutStream; - CMyComPtr<ISequentialOutStream> outStream(outStreamSpec); - outStreamSpec->SetStream(realOutStream); - outStreamSpec->Init(); - realOutStream.Release(); + CMyComPtr2_Create<ISequentialOutStream, CDummyOutStream> outStream; + outStream->SetStream(realOutStream); + outStream->Init(); + // realOutStream.Release(); - CLocalProgress *lps = new CLocalProgress; - CMyComPtr<ICompressProgressInfo> progress = lps; + CMyComPtr2_Create<ICompressProgressInfo, CLocalProgress> lps; lps->Init(extractCallback, true); RINOK(InStream_SeekToBegin(_stream)) - NCompress::NZ::CDecoder *decoderSpec = new NCompress::NZ::CDecoder; - CMyComPtr<ICompressCoder> decoder = decoderSpec; - - int opRes; + NCompress::NZ::CDecoder decoder; { - HRESULT result = decoder->Code(_stream, outStream, NULL, NULL, progress); - if (result == S_FALSE) + const HRESULT hres = decoder.Code(_stream, outStream, lps); + if (hres == S_FALSE) opRes = NExtract::NOperationResult::kDataError; else { - RINOK(result) + RINOK(hres) opRes = NExtract::NOperationResult::kOK; } } // _unpackSize = outStreamSpec->GetSize(); // _unpackSize_Defined = true; - outStream.Release(); + // outStream.Release(); + } return extractCallback->SetOperationResult(opRes); COM_TRY_END } |