1
/* 7zBuf2.c -- Byte Buffer
2
2008-10-04 : Igor Pavlov : Public domain */
7
void DynBuf_Construct(CDynBuf *p)
14
void DynBuf_SeekToBeg(CDynBuf *p)
19
int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAlloc *alloc)
21
if (size > p->size - p->pos)
23
size_t newSize = p->pos + size;
25
newSize += newSize / 4;
26
data = (Byte *)alloc->Alloc(alloc, newSize);
30
memcpy(data, p->data, p->pos);
31
alloc->Free(alloc, p->data);
34
memcpy(p->data + p->pos, buf, size);
39
void DynBuf_Free(CDynBuf *p, ISzAlloc *alloc)
41
alloc->Free(alloc, p->data);