aboutsummaryrefslogtreecommitdiffstats
path: root/common/list.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/list.c')
-rw-r--r--common/list.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/list.c b/common/list.c
index 45efc16f..ef1cfda8 100644
--- a/common/list.c
+++ b/common/list.c
@@ -53,3 +53,13 @@ void list_cat(list_t *list, list_t *source) {
53void list_sort(list_t *list, int compare(const void *left, const void *right)) { 53void list_sort(list_t *list, int compare(const void *left, const void *right)) {
54 qsort(list->items, list->length, sizeof(void *), compare); 54 qsort(list->items, list->length, sizeof(void *), compare);
55} 55}
56
57int list_seq_find(list_t *list, int (*cmp)(const void *item, const void *data), const void *data) {
58 for (int i = 0; i < list->length; i++) {
59 void *item = list->items[i];
60 if ((cmp)(item, data) == 0) {
61 return i;
62 }
63 }
64 return -1;
65}