CBByteArray * CBNewByteArrayOfSize(uint32_t size,void (*logError)(char *,...)){ CBByteArray * self = malloc(sizeof(*self)); if (NOT self) { logError("Cannot allocate %i bytes of memory in CBNewByteArrayOfSize\n",sizeof(*self)); return NULL; } CBGetObject(self)->free = CBFreeByteArray; if(CBInitByteArrayOfSize(self,size,logError)) return self; free(self); return NULL; }
CBByteArray * CBNewByteArrayOfSize(uint32_t size) { CBByteArray * self = malloc(sizeof(*self)); CBGetObject(self)->free = CBFreeByteArray; CBInitByteArrayOfSize(self, size); return self; }
void CBInitByteArrayFromHex(CBByteArray * self, char * hex) { CBInitByteArrayOfSize(self, (uint32_t)strlen(hex)/2); CBStrHexToBytes(hex, CBByteArrayGetData(self)); }