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

Reply via email to