ucx/array_list.c

changeset 748
49a284f61e8c
parent 747
efbd59642577
child 750
4d7a2238c5ac
--- a/ucx/array_list.c	Fri Apr 21 21:25:32 2023 +0200
+++ b/ucx/array_list.c	Sun May 07 11:53:10 2023 +0200
@@ -345,21 +345,22 @@
     }
 }
 
-static size_t cx_arl_find(
+static ssize_t cx_arl_find(
         struct cx_list_s const *list,
         void const *elem
 ) {
     assert(list->cmpfunc != NULL);
+    assert(list->size < SIZE_MAX / 2);
     char *cur = ((cx_array_list const *) list)->data;
 
-    for (size_t i = 0; i < list->size; i++) {
+    for (ssize_t i = 0; i < (ssize_t) list->size; i++) {
         if (0 == list->cmpfunc(elem, cur)) {
             return i;
         }
         cur += list->item_size;
     }
 
-    return list->size;
+    return -1;
 }
 
 static void cx_arl_sort(struct cx_list_s *list) {

mercurial