X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=string-list.c;h=c9ad7fcd49669b0dff481d9ab857bf70d8a51bca;hb=7b3bdbb335b6be938b4748e86a41357e51c97804;hp=15e14cf47a586613a62970b393c269728ffbef93;hpb=e72263a1f88d39a7e3672bbe15a7524f8a3f520a;p=git.git diff --git a/string-list.c b/string-list.c index 15e14cf47..c9ad7fcd4 100644 --- a/string-list.c +++ b/string-list.c @@ -92,6 +92,16 @@ struct string_list_item *string_list_lookup(const char *string, struct string_li return list->items + i; } +int for_each_string_list(string_list_each_func_t fn, + struct string_list *list, void *cb_data) +{ + int i, ret = 0; + for (i = 0; i < list->nr; i++) + if ((ret = fn(&list->items[i], cb_data))) + break; + return ret; +} + void string_list_clear(struct string_list *list, int free_util) { if (list->items) { @@ -158,12 +168,19 @@ void sort_string_list(struct string_list *list) qsort(list->items, list->nr, sizeof(*list->items), cmp_items); } -int unsorted_string_list_has_string(struct string_list *list, const char *string) +struct string_list_item *unsorted_string_list_lookup(struct string_list *list, + const char *string) { int i; for (i = 0; i < list->nr; i++) if (!strcmp(string, list->items[i].string)) - return 1; - return 0; + return list->items + i; + return NULL; +} + +int unsorted_string_list_has_string(struct string_list *list, + const char *string) +{ + return unsorted_string_list_lookup(list, string) != NULL; }