diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2017-08-29 22:49:43 +0300 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2017-08-29 22:49:43 +0300 |
commit | b5dc853b2496447f0a54b3b25cb2659b575c56ef (patch) | |
tree | 82b48a2ca0f97915b2aeeb7ae9456711f13cd49a /CPP/7zip/Compress/XzDecoder.cpp | |
parent | 2efa10565ac395d2ce9a679ead46e70fb2f963eb (diff) |
17.0117.01
Diffstat (limited to 'CPP/7zip/Compress/XzDecoder.cpp')
-rw-r--r-- | CPP/7zip/Compress/XzDecoder.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/CPP/7zip/Compress/XzDecoder.cpp b/CPP/7zip/Compress/XzDecoder.cpp index e7ee6046..c28ac900 100644 --- a/CPP/7zip/Compress/XzDecoder.cpp +++ b/CPP/7zip/Compress/XzDecoder.cpp @@ -16,6 +16,19 @@ namespace NCompress { namespace NXz { +CXzUnpackerCPP::CXzUnpackerCPP(): InBuf(NULL), OutBuf(NULL) +{ + XzUnpacker_Construct(&p, &g_Alloc); +} + +CXzUnpackerCPP::~CXzUnpackerCPP() +{ + XzUnpacker_Free(&p); + MidFree(InBuf); + MidFree(OutBuf); +} + + void CStatInfo::Clear() { InSize = 0; @@ -40,20 +53,6 @@ void CStatInfo::Clear() } -CXzUnpackerCPP::CXzUnpackerCPP(): InBuf(0), OutBuf(0) -{ - XzUnpacker_Construct(&p, &g_Alloc); -} - -CXzUnpackerCPP::~CXzUnpackerCPP() -{ - XzUnpacker_Free(&p); - MidFree(InBuf); - MidFree(OutBuf); -} - - - HRESULT CDecoder::Decode(ISequentialInStream *seqInStream, ISequentialOutStream *outStream, const UInt64 *outSizeLimit, bool finishStream, ICompressProgressInfo *progress) { @@ -95,8 +94,12 @@ HRESULT CDecoder::Decode(ISequentialInStream *seqInStream, ISequentialOutStream SizeT inLen = inSize - inPos; SizeT outLen = kOutBufSize - outPos; ECoderFinishMode finishMode = CODER_FINISH_ANY; + + /* + // 17.01 : the code was disabled: if (inSize == 0) finishMode = CODER_FINISH_END; + */ if (outSizeLimit) { |