string_list: add a new function, filter_string_list()
This function allows entries that don't match a specified criterion to be discarded from a string_list while preserving the order of the remaining entries. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ff919f965d
commit
eb5f0c7a61
@@ -29,6 +29,15 @@ int for_each_string_list(struct string_list *list,
|
||||
#define for_each_string_list_item(item,list) \
|
||||
for (item = (list)->items; item < (list)->items + (list)->nr; ++item)
|
||||
|
||||
/*
|
||||
* Apply want to each item in list, retaining only the ones for which
|
||||
* the function returns true. If free_util is true, call free() on
|
||||
* the util members of any items that have to be deleted. Preserve
|
||||
* the order of the items that are retained.
|
||||
*/
|
||||
void filter_string_list(struct string_list *list, int free_util,
|
||||
string_list_each_func_t want, void *cb_data);
|
||||
|
||||
|
||||
/* Use these functions only on sorted lists: */
|
||||
int string_list_has_string(const struct string_list *list, const char *string);
|
||||
|
||||
Reference in New Issue
Block a user