Compress-Deflate7
view release on metacpan or search on metacpan
7zip/CPP/7zip/Archive/CpioHandler.cpp view on Meta::CPAN
const UInt32 kRecord2Size = 26;
/*
struct CRecord2
{
unsigned short c_magic;
short c_dev;
unsigned short c_ino;
unsigned short c_mode;
unsigned short c_uid;
unsigned short c_gid;
unsigned short c_nlink;
short c_rdev;
unsigned short c_mtimes[2];
unsigned short c_namesize;
unsigned short c_filesizes[2];
};
*/
const UInt32 kRecordSize = 110;
/*
7zip/CPP/7zip/Archive/SquashfsHandler.cpp view on Meta::CPAN
public CMyUnknownImp
{
CRecordVector<CItem> _items;
CRecordVector<CNode> _nodes;
CRecordVector<UInt32> _nodesPos;
CRecordVector<UInt32> _blockToNode;
CData _inodesData;
CData _dirs;
CRecordVector<CFrag> _frags;
// CByteBuffer _uids;
// CByteBuffer _gids;
CHeader _h;
CMyComPtr<IInStream> _stream;
UInt64 _sizeCalculated;
IArchiveOpenCallback *_openCallback;
int _nodeIndex;
CRecordVector<bool> _blockCompressed;
CRecordVector<UInt64> _blockOffsets;
7zip/CPP/7zip/Archive/SquashfsHandler.cpp view on Meta::CPAN
if (pos != totalSize)
return S_FALSE;
}
int rootNodeIndex;
RINOK(OpenDir(-1, (UInt32)absOffset, (UInt32)_h.RootInode & 0xFFFF, 0, rootNodeIndex));
/*
if (_h.Major < 4)
{
RINOK(ReadUids(_h.UidTable, _h.NumUids, _uids));
RINOK(ReadUids(_h.GidTable, _h.NumGids, _gids));
}
else
{
UInt32 size = _h.NumIDs * 4;
_uids.SetCapacity(size);
UInt32 numBlocks = (size + kMetadataBlockSize - 1) / kMetadataBlockSize;
UInt32 numBlocksBytes = numBlocks << 3;
CByteBuffer data;
data.SetCapacity(numBlocksBytes);
7zip/CPP/7zip/Archive/SquashfsHandler.cpp view on Meta::CPAN
_items.Clear();
_nodes.Clear();
_nodesPos.Clear();
_blockToNode.Clear();
_frags.Clear();
_inodesData.Clear();
_dirs.Clear();
// _uids.Free();
// _gids.Free();;
_cachedBlock.Free();
ClearCache();
return S_OK;
}
bool CHandler::GetPackSize(int index, UInt64 &totalPack, bool fillOffsets)
{
totalPack = 0;
7zip/CPP/7zip/Archive/SquashfsHandler.cpp view on Meta::CPAN
{
if (_h.Major == 4 || node.Gid == _h.GetSpecGuidIndex())
{
UInt32 offset = node.Uid * 4;
if (offset < _uids.GetCapacity())
prop = (UInt32)Get32(_uids + offset);
}
else
{
UInt32 offset = node.Gid * 4;
if (offset < _gids.GetCapacity())
prop = (UInt32)Get32(_gids + offset);
}
break;
}
*/
/*
case kpidLinks:
if (_h.Major >= 3 && node.Type != kType_FILE)
prop = node.NumLinks;
break;
*/
( run in 0.697 second using v1.01-cache-2.11-cpan-5735350b133 )