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)8 void Buf_Init(CBuf *p)
9 {
10   p->data = 0;
11   p->size = 0;
12 }
13 
Buf_Create(CBuf * p,size_t size,ISzAlloc * alloc)14 int 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)31 void Buf_Free(CBuf *p, ISzAlloc *alloc)
32 {
33   alloc->Free(alloc, p->data);
34   p->data = 0;
35   p->size = 0;
36 }
37