void SzArEx_Init(CSzArEx *p) { SzAr_Init(&p->db); p->FolderStartPackStreamIndex = 0; p->PackStreamStartPositions = 0; p->FolderStartFileIndex = 0; p->FileIndexToFolderIndexMap = 0; p->FileNameOffsets = 0; Buf_Init(&p->FileNames); }
void SzAr_Free(CSzAr *p, ISzAlloc *alloc) { uint32_t i; if (p->Folders) for (i = 0; i < p->NumFolders; i++) SzFolder_Free(&p->Folders[i], alloc); IAlloc_Free(alloc, p->PackSizes); IAlloc_Free(alloc, p->PackCRCsDefined); IAlloc_Free(alloc, p->PackCRCs); IAlloc_Free(alloc, p->Folders); IAlloc_Free(alloc, p->Files); SzAr_Init(p); }
static void SzAr_Free(CSzAr *p, ISzAlloc *alloc) { IAlloc_Free(alloc, p->PackPositions); SzBitUi32s_Free(&p->FolderCRCs, alloc); IAlloc_Free(alloc, p->FoCodersOffsets); IAlloc_Free(alloc, p->FoStartPackStreamIndex); IAlloc_Free(alloc, p->FoToCoderUnpackSizes); IAlloc_Free(alloc, p->FoToMainUnpackSizeIndex); IAlloc_Free(alloc, p->CoderUnpackSizes); IAlloc_Free(alloc, p->CodersData); SzAr_Init(p); }
void SzArEx_Init(CSzArEx *p) { SzAr_Init(&p->db); p->NumFiles = 0; p->dataPos = 0; // p->Files = 0; p->UnpackPositions = 0; // p->IsEmptyFiles = 0; p->IsDirs = 0; // p->FolderStartPackStreamIndex = 0; // p->PackStreamStartPositions = 0; p->FolderStartFileIndex = 0; p->FileIndexToFolderIndexMap = 0; p->FileNameOffsets = 0; p->FileNames = 0; SzBitUi32s_Init(&p->CRCs); SzBitUi32s_Init(&p->Attribs); // SzBitUi32s_Init(&p->Parents); SzBitUi64s_Init(&p->MTime); SzBitUi64s_Init(&p->CTime); }
static SRes SzReadAndDecodePackedStreams( ILookInStream *inStream, CSzData *sd, CBuf *outBuffer, uint64_t baseOffset, ISzAlloc *allocTemp) { CSzAr p; uint64_t *unpackSizes = 0; uint8_t *digestsDefined = 0; uint32_t *digests = 0; SRes res; SzAr_Init(&p); res = SzReadAndDecodePackedStreams2(inStream, sd, outBuffer, baseOffset, &p, &unpackSizes, &digestsDefined, &digests, allocTemp); SzAr_Free(&p, allocTemp); IAlloc_Free(allocTemp, unpackSizes); IAlloc_Free(allocTemp, digestsDefined); IAlloc_Free(allocTemp, digests); return res; }
void SzArEx_Init(CSzArEx *p) { SzAr_Init(&p->db); p->NumFiles = 0; p->dataPos = 0; p->UnpackPositions = NULL; p->IsDirs = NULL; p->FolderToFile = NULL; p->FileToFolder = NULL; p->FileNameOffsets = NULL; p->FileNames = NULL; SzBitUi32s_Init(&p->CRCs); SzBitUi32s_Init(&p->Attribs); // SzBitUi32s_Init(&p->Parents); SzBitUi64s_Init(&p->MTime); SzBitUi64s_Init(&p->CTime); }
static SRes SzReadAndDecodePackedStreams( ISeekInStream *inStream, CSzData *sd, ISeqOutStream *outStream, UInt64 baseOffset, ISzAlloc *allocTemp) { CSzAr p; UInt64 *unpackSizes = 0; Byte *digestsDefined = 0; UInt32 *digests = 0; SRes res; SzAr_Init(&p); res = SzReadAndDecodePackedStreams2(inStream, sd, outStream, baseOffset, &p, &unpackSizes, &digestsDefined, &digests, allocTemp); SzAr_Free(&p, allocTemp); IAlloc_Free(allocTemp, unpackSizes); IAlloc_Free(allocTemp, digestsDefined); IAlloc_Free(allocTemp, digests); return res; }