Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=5954095afb6b0f5d55c9b2d5436b619fdff139c1

commit 5954095afb6b0f5d55c9b2d5436b619fdff139c1
Author: Michel Hermier <herm...@frugalware.org>
Date:   Mon Nov 18 13:08:26 2013 +0100

libpacman: Add f_list_find.

diff --git a/lib/libpacman/util/list.c b/lib/libpacman/util/list.c
index d1f29ad..b870537 100644
--- a/lib/libpacman/util/list.c
+++ b/lib/libpacman/util/list.c
@@ -40,12 +40,7 @@ void f_listitem_delete(FListItem *item, FVisitor *visitor)

int f_list_contains(const FList *list, FListItemComparatorFunc comparator, 
const void *comparator_data)
{
-       for(; list != NULL; list = list->next) {
-               if(comparator(list, comparator_data) == 0) {
-                       return 1;
-               }
-       }
-       return 0;
+       return f_list_find(list, comparator, comparator_data) != NULL;
}

int f_list_count(const FList *list)
@@ -78,6 +73,16 @@ int _pacman_list_is_in(void *needle, const pmlist_t 
*haystack)
return f_list_contains(haystack, _pacman_ptrlistitem_ptrcmp, needle);
}

+FListItem *f_list_find(const FList *list, FListItemComparatorFunc comparator, 
const void *comparator_data)
+{
+       for(; list != NULL; list = list->next) {
+               if(comparator(list, comparator_data) == 0) {
+                       break;
+               }
+       }
+       return (FListItem *)list;
+}
+
pmlist_t *_pacman_list_add(pmlist_t *list, void *data)
{
pmlist_t *ptr, *lp;
diff --git a/lib/libpacman/util/list.h b/lib/libpacman/util/list.h
index 32289ee..5382179 100644
--- a/lib/libpacman/util/list.h
+++ b/lib/libpacman/util/list.h
@@ -56,6 +56,7 @@ void f_listitem_delete(FListItem *item, FVisitor *visitor);
int f_list_contains(const FList *list, FListItemComparatorFunc comparator, 
const void *comparator_data);
int f_list_count(const FList *list);
int f_list_empty(const FList *list);
+FListItem *f_list_find(const FList *list, FListItemComparatorFunc comparator, 
const void *comparator_data);
int _pacman_list_is_in(void *needle, const pmlist_t *haystack);
void f_list_foreach(const FList *list, FListItemVisitorFunc visitor, void 
*visitor_data);
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to