Lines Matching refs:alloc
13 #define MY_ALLOC(T, p, size, alloc) \
14 { if ((p = (T *)ISzAlloc_Alloc(alloc, (size) * sizeof(T))) == NULL) return SZ_ERROR_MEM; }
16 #define MY_ALLOC_ZE(T, p, size, alloc) \
17 { if ((size) == 0) p = NULL; else MY_ALLOC(T, p, size, alloc) }
19 #define MY_ALLOC_AND_CPY(to, size, from, alloc) \
20 { MY_ALLOC(Byte, to, size, alloc); memcpy(to, from, size); }
22 #define MY_ALLOC_ZE_AND_CPY(to, size, from, alloc) \
23 { if ((size) == 0) to = NULL; else { MY_ALLOC_AND_CPY(to, size, from, alloc) } }
64 static SRes SzBitUi32s_Alloc(CSzBitUi32s *p, size_t num, ISzAllocPtr alloc)
73 MY_ALLOC(Byte, p->Defs, (num + 7) >> 3, alloc)
74 MY_ALLOC(UInt32, p->Vals, num, alloc)
79 static void SzBitUi32s_Free(CSzBitUi32s *p, ISzAllocPtr alloc)
81 ISzAlloc_Free(alloc, p->Defs); p->Defs = NULL;
82 ISzAlloc_Free(alloc, p->Vals); p->Vals = NULL;
87 static void SzBitUi64s_Free(CSzBitUi64s *p, ISzAllocPtr alloc)
89 ISzAlloc_Free(alloc, p->Defs); p->Defs = NULL;
90 ISzAlloc_Free(alloc, p->Vals); p->Vals = NULL;
113 static void SzAr_Free(CSzAr *p, ISzAllocPtr alloc)
115 ISzAlloc_Free(alloc, p->PackPositions);
116 SzBitUi32s_Free(&p->FolderCRCs, alloc);
118 ISzAlloc_Free(alloc, p->FoCodersOffsets);
119 ISzAlloc_Free(alloc, p->FoStartPackStreamIndex);
120 ISzAlloc_Free(alloc, p->FoToCoderUnpackSizes);
121 ISzAlloc_Free(alloc, p->FoToMainUnpackSizeIndex);
122 ISzAlloc_Free(alloc, p->CoderUnpackSizes);
124 ISzAlloc_Free(alloc, p->CodersData);
153 void SzArEx_Free(CSzArEx *p, ISzAllocPtr alloc)
155 ISzAlloc_Free(alloc, p->UnpackPositions);
156 ISzAlloc_Free(alloc, p->IsDirs);
158 ISzAlloc_Free(alloc, p->FolderToFile);
159 ISzAlloc_Free(alloc, p->FileToFolder);
161 ISzAlloc_Free(alloc, p->FileNameOffsets);
162 ISzAlloc_Free(alloc, p->FileNames);
164 SzBitUi32s_Free(&p->CRCs, alloc);
165 SzBitUi32s_Free(&p->Attribs, alloc);
166 // SzBitUi32s_Free(&p->Parents, alloc);
167 SzBitUi64s_Free(&p->MTime, alloc);
168 SzBitUi64s_Free(&p->CTime, alloc);
170 SzAr_Free(&p->db, alloc);
320 static Z7_NO_INLINE SRes ReadBitVector(CSzData *sd, UInt32 numItems, Byte **v, ISzAllocPtr alloc)
333 MY_ALLOC_AND_CPY(*v, numBytes, sd->Data, alloc)
337 MY_ALLOC(Byte, *v, numBytes, alloc)
348 static Z7_NO_INLINE SRes ReadUi32s(CSzData *sd2, UInt32 numItems, CSzBitUi32s *crcs, ISzAllocPtr alloc)
354 MY_ALLOC_ZE(UInt32, crcs->Vals, numItems, alloc)
369 static SRes ReadBitUi32s(CSzData *sd, UInt32 numItems, CSzBitUi32s *crcs, ISzAllocPtr alloc)
371 SzBitUi32s_Free(crcs, alloc);
372 RINOK(ReadBitVector(sd, numItems, &crcs->Defs, alloc))
373 return ReadUi32s(sd, numItems, crcs, alloc);
395 static SRes ReadPackInfo(CSzAr *p, CSzData *sd, ISzAllocPtr alloc)
400 MY_ALLOC(UInt64, p->PackPositions, (size_t)p->NumPackStreams + 1, alloc)
650 ISzAllocPtr alloc)
678 MY_ALLOC(size_t, p->FoCodersOffsets, (size_t)numFolders + 1, alloc)
679 MY_ALLOC(UInt32, p->FoStartPackStreamIndex, (size_t)numFolders + 1, alloc)
680 MY_ALLOC(UInt32, p->FoToCoderUnpackSizes, (size_t)numFolders + 1, alloc)
681 MY_ALLOC_ZE(Byte, p->FoToMainUnpackSizeIndex, (size_t)numFolders, alloc)
815 MY_ALLOC_ZE_AND_CPY(p->CodersData, dataSize, startBufPtr, alloc)
827 MY_ALLOC_ZE(UInt64, p->CoderUnpackSizes, (size_t)numCodersOutStreams, alloc)
847 RINOK(ReadBitUi32s(&sd, numFolders, &p->FolderCRCs, alloc))
949 ISzAllocPtr alloc)
964 RINOK(ReadPackInfo(p, sd, alloc))
971 RINOK(ReadUnpackInfo(p, sd, numFoldersMax, tempBufs, numTempBufs, alloc))
1062 ISzAllocPtr alloc)
1070 RINOK(ReadBitVector(sd2, num, &p->Defs, alloc))
1085 MY_ALLOC_ZE(CNtfsFileTime, p->Vals, num, alloc)