src/linked_list.c

changeset 874
cdce47f34d48
parent 856
6bbbf219251d
child 876
f4ce7df9cff0
--- 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;
     }
 }

mercurial