Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=5fada9717d9fc22b9c61403b1345f1690ec8c453
commit 5fada9717d9fc22b9c61403b1345f1690ec8c453 Author: Michel Hermier <[email protected]> Date: Sun May 12 18:39:01 2013 +0200 libflib: Remove f_list_next_filtered f_list_previous_filtered in favor of f_list_detect_next only. diff --git a/lib/libflib/flist.c b/lib/libflib/flist.c index e953cd3..886f995 100644 --- a/lib/libflib/flist.c +++ b/lib/libflib/flist.c @@ -163,13 +163,6 @@ FList *f_list_next (FList *list) { return NULL; } -FList *f_list_next_filtered (FList *list, FDetectFunc dfn, void *user_data) { - while (list != NULL && dfn (list, user_data) != 0) { - list = list->next; - } - return NULL; -} - FList *f_list_previous (FList *list) { if (list != NULL) { return list->prev; @@ -177,13 +170,6 @@ FList *f_list_previous (FList *list) { return NULL; } -FList *f_list_previous_filtered (FList *list, FDetectFunc dfn, void *user_data) { - while (list != NULL && dfn (list, user_data) != 0) { - list = list->prev; - } - return NULL; -} - FList *f_list_append (FList *list, void *data) { return f_list_concat (list, f_list_alloc (data)); } @@ -224,10 +210,15 @@ FList *f_list_detect (FList *list, FDetectFunc fn, void *user_data) { return list; } +FList *f_list_detect_next (FList *list, FDetectFunc fn, void *user_data) { + return f_list_detect (f_list_next (list), fn, user_data); +} + FList *f_list_filter (FList *list, FDetectFunc dfn, void *user_data) { FList *ret = NULL; - for (; list != NULL; list = f_list_next_filtered (list, dfn, user_data)) { + for (list = f_list_detect (list, dfn, user_data); list != NULL; + list = f_list_detect_next (list, dfn, user_data)) { ret = f_list_append (ret, list->data); } return ret; @@ -253,7 +244,8 @@ void f_list_foreach (FList *list, FVisitorFunc fn, void *user_data) { } void f_list_foreach_filtered (FList *list, FVisitorFunc fn, FDetectFunc dfn, void *user_data) { - for (; list != NULL; list = f_list_next_filtered (list, dfn, user_data)) { + for (list = f_list_detect (list, dfn, user_data); list != NULL; + list = f_list_detect_next (list, dfn, user_data)) { fn (list->data, user_data); } } diff --git a/lib/libflib/flist.h b/lib/libflib/flist.h index 8f2a984..b40ed38 100644 --- a/lib/libflib/flist.h +++ b/lib/libflib/flist.h @@ -61,9 +61,7 @@ size_t f_list_count (FList *list); FList *f_list_first (FList *list); FList *f_list_last (FList *list); FList *f_list_next (FList *list); -FList *f_list_next_filtered (FList *list, FDetectFunc dfn, void *user_data); FList *f_list_previous (FList *list); -FList *f_list_previous_filtered (FList *list, FDetectFunc dfn, void *user_data); FList *f_list_append (FList *list, void *data); FList *f_list_concat (FList *list1, FList *list2); @@ -71,6 +69,7 @@ FList *f_list_copy (FList *list); FList *f_list_deep_copy (FList *list, FCopyFunc fn, void *user_data); void f_list_detach (FList *list, FCopyFunc fn, void *user_data); FList *f_list_detect (FList *list, FDetectFunc fn, void *user_data); +FList *f_list_detect_next (FList *list, FDetectFunc fn, void *user_data); FList *f_list_filter (FList *list, FDetectFunc fn, void *user_data); FList *f_list_find (FList *list, const void *data); FList *f_list_find_custom (FList *list, const void *data, FCompareFunc cfn, void *user_data); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
