7zBuf.c 530 B

123456789101112131415161718192021222324252627282930313233343536
  1. /* 7zBuf.c -- Byte Buffer
  2. 2017-04-03 : Igor Pavlov : Public domain */
  3. #include "Precomp.h"
  4. #include "7zBuf.h"
  5. void Buf_Init(CBuf *p)
  6. {
  7. p->data = 0;
  8. p->size = 0;
  9. }
  10. int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc)
  11. {
  12. p->size = 0;
  13. if (size == 0)
  14. {
  15. p->data = 0;
  16. return 1;
  17. }
  18. p->data = (Byte *)ISzAlloc_Alloc(alloc, size);
  19. if (p->data)
  20. {
  21. p->size = size;
  22. return 1;
  23. }
  24. return 0;
  25. }
  26. void Buf_Free(CBuf *p, ISzAllocPtr alloc)
  27. {
  28. ISzAlloc_Free(alloc, p->data);
  29. p->data = 0;
  30. p->size = 0;
  31. }