aboutsummaryrefslogtreecommitdiff
path: root/common/list.c
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2015-11-22 09:18:20 -0500
committerFurkan Sahin <furkan-dev@proton.me>2015-11-22 09:18:20 -0500
commite48961437401254920daed237c7f17063d103d67 (patch)
tree793b93d9df55478856a9d6dda7d99d3f8bd7d0e7 /common/list.c
parentb8d87c93f0a1af044ccbd199c09301796d4d36c1 (diff)
parent529ee2e65915347ca827cb8fd4ed8c28acde06a6 (diff)
Merge pull request #245 from sce/workspace_output_duplicates
Fix `workspace_output` duplicates
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..310296d8 100644
--- a/common/list.c
+++ b/common/list.c
@@ -53,3 +53,13 @@ void list_cat(list_t *list, list_t *source) {
void list_sort(list_t *list, int compare(const void *left, const void *right)) {
qsort(list->items, list->length, sizeof(void *), compare);
}
+
+int list_seq_find(list_t *list, int compare(const void *item, const void *data), const void *data) {
+ for (int i = 0; i < list->length; i++) {
+ void *item = list->items[i];
+ if (compare(item, data) == 0) {
+ return i;
+ }
+ }
+ return -1;
+}