"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "CPP/7zip/Archive/Chm/ChmIn.h" 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).

ChmIn.h  (p7zip_15.14.1_src_all):ChmIn.h  (p7zip_16.02_src_all)
skipping to change at line 184 skipping to change at line 184
bool LowLevel; bool LowLevel;
CUIntVector Indices; CUIntVector Indices;
CObjectVector<CSectionInfo> Sections; CObjectVector<CSectionInfo> Sections;
UInt64 GetFileSize(unsigned fileIndex) const { return Items[Indices[fileIndex] ].Size; } UInt64 GetFileSize(unsigned fileIndex) const { return Items[Indices[fileIndex] ].Size; }
UInt64 GetFileOffset(unsigned fileIndex) const { return Items[Indices[fileInde x]].Offset; } UInt64 GetFileOffset(unsigned fileIndex) const { return Items[Indices[fileInde x]].Offset; }
UInt64 GetFolder(unsigned fileIndex) const UInt64 GetFolder(unsigned fileIndex) const
{ {
const CItem &item = Items[Indices[fileIndex]]; const CItem &item = Items[Indices[fileIndex]];
const CSectionInfo &section = Sections[(unsigned)item.Section]; if (item.Section < Sections.Size())
if (section.IsLzx()) {
return section.Methods[0].LzxInfo.GetFolder(item.Offset); const CSectionInfo &section = Sections[(unsigned)item.Section];
if (section.IsLzx())
return section.Methods[0].LzxInfo.GetFolder(item.Offset);
}
return 0; return 0;
} }
UInt64 GetLastFolder(unsigned fileIndex) const UInt64 GetLastFolder(unsigned fileIndex) const
{ {
const CItem &item = Items[Indices[fileIndex]]; const CItem &item = Items[Indices[fileIndex]];
const CSectionInfo &section = Sections[(unsigned)item.Section]; if (item.Section < Sections.Size())
if (section.IsLzx()) {
return section.Methods[0].LzxInfo.GetFolder(item.Offset + item.Size - 1); const CSectionInfo &section = Sections[(unsigned)item.Section];
if (section.IsLzx())
return section.Methods[0].LzxInfo.GetFolder(item.Offset + item.Size - 1)
;
}
return 0; return 0;
} }
void HighLevelClear() void HighLevelClear()
{ {
LowLevel = true; LowLevel = true;
Indices.Clear(); Indices.Clear();
Sections.Clear(); Sections.Clear();
} }
void Clear() void Clear()
{ {
CDatabase::Clear(); CDatabase::Clear();
HighLevelClear(); HighLevelClear();
} }
void SetIndices(); void SetIndices();
void Sort(); void Sort();
bool Check(); bool Check();
bool CheckSectionRefs();
}; };
class CInArchive class CInArchive
{ {
CMyComPtr<ISequentialInStream> m_InStreamRef; CMyComPtr<ISequentialInStream> m_InStreamRef;
::CInBuffer _inBuffer; ::CInBuffer _inBuffer;
UInt64 _chunkSize; UInt64 _chunkSize;
bool _help2; bool _help2;
Byte ReadByte(); Byte ReadByte();
 End of changes. 3 change blocks. 
6 lines changed or deleted 14 lines changed or added

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