Lines Matching refs:size
29 #define READ_VARINT_AND_CHECK(buf, pos, size, res) \
30 { unsigned s = Xz_ReadVarInt(buf + pos, size - pos, res); \
60 #define ADD_SIZE_CHECK(size, val) \
61 { UInt64 newSize = size + (val); if (newSize < size) return XZ_SIZE_OVERFLOW; size = newSize; }
65 UInt64 size = 0;
69 ADD_SIZE_CHECK(size, p->blocks[i].unpackSize)
71 return size;
76 UInt64 size = 0;
80 ADD_SIZE_CHECK(size, (p->blocks[i].totalSize + 3) & ~(UInt64)3)
82 return size;
92 static SRes Xz_ReadIndex2(CXzStream *p, const Byte *buf, size_t size, ISzAllocPtr alloc)
97 if (size < 5 || buf[0] != 0)
100 size -= 4;
101 crc = CrcCalc(buf, size);
102 if (crc != GetUi32(buf + size))
107 READ_VARINT_AND_CHECK(buf, pos, size, &numBlocks64)
109 if (numBlocks != numBlocks64 || numBlocks * 2 > size)
124 READ_VARINT_AND_CHECK(buf, pos, size, &block->totalSize)
125 READ_VARINT_AND_CHECK(buf, pos, size, &block->unpackSize)
133 return (pos == size) ? SZ_OK : SZ_ERROR_ARCHIVE;
139 size_t size;
143 size = (size_t)indexSize;
144 if (size != indexSize)
146 buf = (Byte *)ISzAlloc_Alloc(alloc, size);
149 res = LookInStream_Read2(stream, buf, size, SZ_ERROR_UNSUPPORTED);
151 res = Xz_ReadIndex2(p, buf, size, alloc);
156 static SRes LookInStream_SeekRead_ForArc(ILookInStreamPtr stream, UInt64 offset, void *buf, size_t size)
159 return LookInStream_Read(stream, buf, size);
160 /* return LookInStream_Read2(stream, buf, size, SZ_ERROR_NO_ARCHIVE); */
285 UInt64 size = 0;
289 ADD_SIZE_CHECK(size, Xz_GetUnpackSize(&p->streams[i]))
291 return size;
297 UInt64 size = 0;
301 ADD_SIZE_CHECK(size, Xz_GetTotalSize(&p->streams[i]))
303 return size;