Sun, 20 Nov 2022 17:06:00 +0100
#219: cx_arl_remove short-circuit for last element
src/array_list.c | file | annotate | diff | comparison | revisions |
--- a/src/array_list.c Sun Nov 20 16:58:51 2022 +0100 +++ b/src/array_list.c Sun Nov 20 17:06:00 2022 +0100 @@ -250,9 +250,14 @@ return 1; } - cx_array_list *arl = (cx_array_list *) list; + /* short-circuit removal of last element */ + if (index == list->size - 1) { + list->size--; + return 0; + } /* just move the elements starting at index to the left */ + cx_array_list *arl = (cx_array_list *) list; int result = cx_array_copy( &arl->data, &list->size,