Index: third_party/lzma_sdk/7zBuf.c |
diff --git a/third_party/lzma_sdk/7zBuf.c b/third_party/lzma_sdk/7zBuf.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..14e7f4e2b92215c6a6ba4186917b4602d620fe9a |
--- /dev/null |
+++ b/third_party/lzma_sdk/7zBuf.c |
@@ -0,0 +1,36 @@ |
+/* 7zBuf.c -- Byte Buffer |
+2008-03-28 |
+Igor Pavlov |
+Public domain */ |
+ |
+#include "7zBuf.h" |
+ |
+void Buf_Init(CBuf *p) |
+{ |
+ p->data = 0; |
+ p->size = 0; |
+} |
+ |
+int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc) |
+{ |
+ 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; |
+} |
+ |
+void Buf_Free(CBuf *p, ISzAlloc *alloc) |
+{ |
+ alloc->Free(alloc, p->data); |
+ p->data = 0; |
+ p->size = 0; |
+} |