1.1 --- a/src/array_list.c Sun May 21 14:40:05 2023 +0200 1.2 +++ b/src/array_list.c Sun May 21 14:56:10 2023 +0200 1.3 @@ -169,7 +169,24 @@ 1.4 1.5 static void cx_arl_destructor(struct cx_list_s *list) { 1.6 cx_array_list *arl = (cx_array_list *) list; 1.7 + 1.8 + char *ptr = arl->data; 1.9 + 1.10 + if (list->simple_destructor) { 1.11 + for (size_t i = 0; i < list->size; i++) { 1.12 + cx_invoke_simple_destructor(list, ptr); 1.13 + ptr += list->item_size; 1.14 + } 1.15 + } 1.16 + if (list->advanced_destructor) { 1.17 + for (size_t i = 0; i < list->size; i++) { 1.18 + cx_invoke_advanced_destructor(list, ptr); 1.19 + ptr += list->item_size; 1.20 + } 1.21 + } 1.22 + 1.23 cxFree(list->allocator, arl->data); 1.24 + cxFree(list->allocator, list); 1.25 } 1.26 1.27 static size_t cx_arl_insert_array(