src/array_list.c

changeset 641
d402fead3386
parent 640
55cc3b373c5e
child 643
5700ba9154ab
--- a/src/array_list.c	Wed Jan 25 19:19:29 2023 +0100
+++ b/src/array_list.c	Thu Jan 26 20:59:36 2023 +0100
@@ -224,6 +224,14 @@
     }
 }
 
+static int cx_arl_insert_element(
+        struct cx_list_s *list,
+        size_t index,
+        void const *element
+) {
+    return 1 != cx_arl_insert_array(list, index, element, 1);
+}
+
 static int cx_arl_insert_iter(
         struct cx_mut_iterator_s *iter,
         void const *elem,
@@ -231,11 +239,10 @@
 ) {
     struct cx_list_s *list = iter->src_handle;
     if (iter->index < list->size) {
-        int result = 1 != cx_arl_insert_array(
+        int result = cx_arl_insert_element(
                 list,
                 iter->index + 1 - prepend,
-                elem,
-                1
+                elem
         );
         if (result == 0 && prepend != 0) {
             iter->index++;
@@ -243,7 +250,7 @@
         }
         return result;
     } else {
-        int result = 1 != cx_arl_insert_array(list, list->size, elem, 1);
+        int result = cx_arl_insert_element(list, list->size, elem);
         iter->index = list->size;
         return result;
     }
@@ -407,6 +414,7 @@
 
 static cx_list_class cx_array_list_class = {
         cx_arl_destructor,
+        cx_arl_insert_element,
         cx_arl_insert_array,
         cx_arl_insert_iter,
         cx_arl_remove,

mercurial