Imported Upstream version 9.20
[platform/upstream/7zip.git] / C / 7zBuf.c
1 /* 7zBuf.c -- Byte Buffer\r
2 2008-03-28\r
3 Igor Pavlov\r
4 Public domain */\r
5 \r
6 #include "7zBuf.h"\r
7 \r
8 void Buf_Init(CBuf *p)\r
9 {\r
10   p->data = 0;\r
11   p->size = 0;\r
12 }\r
13 \r
14 int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc)\r
15 {\r
16   p->size = 0;\r
17   if (size == 0)\r
18   {\r
19     p->data = 0;\r
20     return 1;\r
21   }\r
22   p->data = (Byte *)alloc->Alloc(alloc, size);\r
23   if (p->data != 0)\r
24   {\r
25     p->size = size;\r
26     return 1;\r
27   }\r
28   return 0;\r
29 }\r
30 \r
31 void Buf_Free(CBuf *p, ISzAlloc *alloc)\r
32 {\r
33   alloc->Free(alloc, p->data);\r
34   p->data = 0;\r
35   p->size = 0;\r
36 }\r