CBByteArray * CBNewByteArraySubReference(CBByteArray * ref,uint32_t offset,uint32_t length){ CBByteArray * self = malloc(sizeof(*self)); if (NOT self) { ref->logError("Cannot allocate %i bytes of memory in CBNewByteArraySubReference\n",sizeof(*self)); return NULL; } CBGetObject(self)->free = CBFreeByteArray; if(CBInitByteArraySubReference(self, ref, offset, length)) return self; free(self); return NULL; }
CBByteArray * CBNewByteArraySubReference(CBByteArray * ref, uint32_t offset, uint32_t length) { CBByteArray * self = malloc(sizeof(*self)); CBGetObject(self)->free = CBFreeByteArray; CBInitByteArraySubReference(self, ref, offset, length); return self; }