diff -r d607a184925a -r cdce47f34d48 src/linked_list.c --- a/src/linked_list.c Tue Aug 20 18:02:39 2024 +0200 +++ b/src/linked_list.c Thu Aug 29 20:48:15 2024 +0200 @@ -892,11 +892,19 @@ assert(prepend >= 0 && prepend <= 1); cx_linked_list_node *choice[2] = {node, node->prev}; int result = cx_ll_insert_at(list, choice[prepend], elem); - iter->index += prepend * (0 == result); + if (result == 0) { + iter->elem_count++; + if (prepend) { + iter->index++; + } + } return result; } else { int result = cx_ll_insert_element(list, list->collection.size, elem); - iter->index = list->collection.size; + if (result == 0) { + iter->elem_count++; + iter->index = list->collection.size; + } return result; } }