diff options
Diffstat (limited to 'common/list.c')
| -rw-r--r-- | common/list.c | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/common/list.c b/common/list.c index bda2b564..c6d8cb98 100644 --- a/common/list.c +++ b/common/list.c @@ -86,6 +86,19 @@ struct slist *slist_remove(struct slist *list, void *data)  	return list;  } +struct slist *slist_find(struct slist *list, const void *data, +			cmp_func_t cmp_func) +{ +	struct slist *l; + +	for (l = list; l != NULL; l = l->next) { +		if (!cmp_func(l->data, data)) +			return l; +	} + +	return NULL; +} +  void slist_free(struct slist *list)  {  	struct slist *l, *next; | 
