visualboyadvance-m/fex/7z_C/7zBuf.c

35 lines
536 B
C
Raw Normal View History

/* 7zBuf.c -- Byte Buffer
2008-03-28
Igor Pavlov
Public domain */
#include "7zBuf.h"
2016-07-31 23:55:24 +00:00
void Buf_Init(CBuf* p)
{
2016-07-31 23:55:24 +00:00
p->data = 0;
p->size = 0;
}
2016-07-31 23:55:24 +00:00
int Buf_Create(CBuf* p, size_t size, ISzAlloc* alloc)
{
2016-07-31 23:55:24 +00:00
p->size = 0;
if (size == 0) {
p->data = 0;
return 1;
}
p->data = (Byte*)alloc->Alloc(alloc, size);
if (p->data != 0) {
p->size = size;
return 1;
}
return 0;
}
2016-07-31 23:55:24 +00:00
void Buf_Free(CBuf* p, ISzAlloc* alloc)
{
2016-07-31 23:55:24 +00:00
alloc->Free(alloc, p->data);
p->data = 0;
p->size = 0;
}