Home | History | Annotate | Download | only in C
      1 /* 7zBuf.c -- Byte Buffer
      2 2013-01-21 : Igor Pavlov : Public domain */
      3 
      4 #include "Precomp.h"
      5 
      6 #include "7zBuf.h"
      7 
      8 void Buf_Init(CBuf *p)
      9 {
     10   p->data = 0;
     11   p->size = 0;
     12 }
     13 
     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 
     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