"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "CPP/7zip/Compress/BZip2Decoder.cpp" between
p7zip_15.14.1_src_all.tar.gz and p7zip_16.02_src_all.tar.gz

About: p7zip is a command-line file archiver with a high compression ratio (a port of the Windows program 7za.exe).

BZip2Decoder.cpp  (p7zip_15.14.1_src_all):BZip2Decoder.cpp  (p7zip_16.02_src_all)
skipping to change at line 786 skipping to change at line 786
props.randMode = true; props.randMode = true;
res = Decoder->Base.ReadBlock(Counters, Decoder->BlockSizeMax, &props); res = Decoder->Base.ReadBlock(Counters, Decoder->BlockSizeMax, &props);
if (res != S_OK) if (res != S_OK)
{ {
Decoder->Result1 = res; Decoder->Result1 = res;
FinishStream(); FinishStream();
continue; continue;
} }
packSize = Decoder->Base.BitDecoder.GetProcessedSize(); packSize = Decoder->Base.BitDecoder.GetProcessedSize();
} }
catch(const CInBufferException &e) { res = e.ErrorCode; if (res != S_OK) re s = E_FAIL; } catch(const CInBufferException &e) { res = e.ErrorCode; if (res == S_OK) res = E_FAIL; }
catch(...) { res = E_FAIL; } catch(...) { res = E_FAIL; }
if (res != S_OK) if (res != S_OK)
{ {
Decoder->Result1 = res; Decoder->Result1 = res;
FinishStream(); FinishStream();
continue; continue;
} }
Decoder->CS.Leave(); Decoder->CS.Leave();
skipping to change at line 812 skipping to change at line 812
Decoder->m_States[blockIndex].CanWriteEvent.Lock(); Decoder->m_States[blockIndex].CanWriteEvent.Lock();
needFinish = Decoder->StreamWasFinished2; needFinish = Decoder->StreamWasFinished2;
if (!needFinish) if (!needFinish)
{ {
if (DecodeBlock(props, Counters + 256, Decoder->m_OutStream) == crc) if (DecodeBlock(props, Counters + 256, Decoder->m_OutStream) == crc)
res = Decoder->SetRatioProgress(packSize); res = Decoder->SetRatioProgress(packSize);
else else
res = S_FALSE; res = S_FALSE;
} }
} }
catch(const COutBufferException &e) { res = e.ErrorCode; if (res != S_OK) re s = E_FAIL; } catch(const COutBufferException &e) { res = e.ErrorCode; if (res == S_OK) re s = E_FAIL; }
catch(...) { res = E_FAIL; } catch(...) { res = E_FAIL; }
if (res != S_OK) if (res != S_OK)
{ {
Decoder->Result2 = res; Decoder->Result2 = res;
Decoder->StreamWasFinished2 = true; Decoder->StreamWasFinished2 = true;
} }
Decoder->m_States[nextBlockIndex].CanWriteEvent.Set(); Decoder->m_States[nextBlockIndex].CanWriteEvent.Set();
if (res != S_OK || needFinish) if (res != S_OK || needFinish)
{ {
StreamWasFinishedEvent.Set(); StreamWasFinishedEvent.Set();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS