1 /* 7zBuf.c -- Byte Buffer 2 2013-01-21 : Igor Pavlov : Public domain */ 3 4 #include "Precomp.h" 5 6 #include "7zBuf.h" 7 Buf_Init(CBuf * p)8void Buf_Init(CBuf *p) 9 { 10 p->data = 0; 11 p->size = 0; 12 } 13 Buf_Create(CBuf * p,size_t size,ISzAlloc * alloc)14int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc) 15 { 16 p->size = 0; 17 if (size == 0) 18 { 19 p->data = 0; 20 return 1; 21 } 22 p->data = (Byte *)alloc->Alloc(alloc, size); 23 if (p->data != 0) 24 { 25 p->size = size; 26 return 1; 27 } 28 return 0; 29 } 30 Buf_Free(CBuf * p,ISzAlloc * alloc)31void Buf_Free(CBuf *p, ISzAlloc *alloc) 32 { 33 alloc->Free(alloc, p->data); 34 p->data = 0; 35 p->size = 0; 36 } 37