void PolyHLReader_close(PolyHighlightReader *self) { if (self->readers) { for (uint32_t i = 0, max = VA_Get_Size(self->readers); i < max; i++) { HighlightReader *sub_reader = (HighlightReader*)VA_Fetch(self->readers, i); if (sub_reader) { HLReader_Close(sub_reader); } } DECREF(self->readers); DECREF(self->offsets); self->readers = NULL; self->offsets = NULL; } }
void PolyHLReader_Close_IMP(PolyHighlightReader *self) { PolyHighlightReaderIVARS *const ivars = PolyHLReader_IVARS(self); if (ivars->readers) { for (size_t i = 0, max = Vec_Get_Size(ivars->readers); i < max; i++) { HighlightReader *sub_reader = (HighlightReader*)Vec_Fetch(ivars->readers, i); if (sub_reader) { HLReader_Close(sub_reader); } } DECREF(ivars->readers); DECREF(ivars->offsets); ivars->readers = NULL; ivars->offsets = NULL; } }