2011-12-04 15:14:43 +00:00
|
|
|
/* 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)
|
2011-12-04 15:14:43 +00:00
|
|
|
{
|
2016-07-31 23:55:24 +00:00
|
|
|
p->data = 0;
|
|
|
|
p->size = 0;
|
2011-12-04 15:14:43 +00:00
|
|
|
}
|
|
|
|
|
2016-07-31 23:55:24 +00:00
|
|
|
int Buf_Create(CBuf* p, size_t size, ISzAlloc* alloc)
|
2011-12-04 15:14:43 +00:00
|
|
|
{
|
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;
|
2011-12-04 15:14:43 +00:00
|
|
|
}
|
|
|
|
|
2016-07-31 23:55:24 +00:00
|
|
|
void Buf_Free(CBuf* p, ISzAlloc* alloc)
|
2011-12-04 15:14:43 +00:00
|
|
|
{
|
2016-07-31 23:55:24 +00:00
|
|
|
alloc->Free(alloc, p->data);
|
|
|
|
p->data = 0;
|
|
|
|
p->size = 0;
|
2011-12-04 15:14:43 +00:00
|
|
|
}
|