7zBuf.c revision baa3858d3f5d128a5c8466b700098109edcad5f2
1/* 7zBuf.c -- Byte Buffer
22008-03-28
3Igor Pavlov
4Public domain */
5
6#include "7zBuf.h"
7
8void Buf_Init(CBuf *p)
9{
10  p->data = 0;
11  p->size = 0;
12}
13
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
31void Buf_Free(CBuf *p, ISzAlloc *alloc)
32{
33  alloc->Free(alloc, p->data);
34  p->data = 0;
35  p->size = 0;
36}
37