Thu, 17 Nov 2022 18:46:55 +0100
#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