#219 array list: implement find

Thu, 17 Nov 2022 18:46:55 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 17 Nov 2022 18:46:55 +0100
changeset 614
7aaec630cf15
parent 613
85c08391a090
child 615
b52b66dcd44b

#219 array list: implement find

src/array_list.c file | annotate | diff | comparison | revisions
test/test_list.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/array_list.c	Thu Nov 17 18:32:59 2022 +0100
     1.2 +++ b/src/array_list.c	Thu Nov 17 18:46:55 2022 +0100
     1.3 @@ -232,7 +232,16 @@
     1.4          struct cx_list_s const *list,
     1.5          void const *elem
     1.6  ) {
     1.7 -    return 0;
     1.8 +    char *cur = ((cx_array_list const *) list)->data;
     1.9 +
    1.10 +    for (size_t i = 0; i < list->size; i++) {
    1.11 +        if (0 == list->cmpfunc(elem, cur)) {
    1.12 +            return i;
    1.13 +        }
    1.14 +        cur += list->itemsize;
    1.15 +    }
    1.16 +
    1.17 +    return list->size;
    1.18  }
    1.19  
    1.20  static void cx_arl_sort(struct cx_list_s *list) {
     2.1 --- a/test/test_list.cpp	Thu Nov 17 18:32:59 2022 +0100
     2.2 +++ b/test/test_list.cpp	Thu Nov 17 18:46:55 2022 +0100
     2.3 @@ -876,7 +876,6 @@
     2.4  }
     2.5  
     2.6  TEST_F(ArrayList, cxListFind) {
     2.7 -    ASSERT_EQ(1,0); // TODO: remove when implemented
     2.8      verifyFind(arrayListFromTestData());
     2.9  }
    2.10  

mercurial