void TRI_DestroyArrayShaper (TRI_shaper_t* shaper) { array_shaper_t* s; size_t i; size_t n; s = (array_shaper_t*) shaper; for (i = 0, n = s->_attributes._length; i < n; ++i) { attribute_2_id_t* a2i; a2i = s->_attributes._buffer[i]; TRI_Free(shaper->_memoryZone, a2i); } TRI_DestroyAssociativePointer(&s->_attributeNames); TRI_DestroyVectorPointer(&s->_attributes); for (i = 0, n = s->_shapes._length; i < n; ++i) { TRI_shape_t* shape; shape = s->_shapes._buffer[i]; TRI_Free(shaper->_memoryZone, shape); } TRI_DestroyAssociativePointer(&s->_shapeDictionary); TRI_DestroyVectorPointer(&s->_shapes); TRI_DestroyShaper(shaper); }
void TRI_FreeShaper (TRI_shaper_t* shaper) { TRI_DestroyShaper(shaper); TRI_Free(shaper->_memoryZone, shaper); }