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