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

commit 555d84fc6dee8d5a449b91fd759d640b1371e696
Author: Michel Hermier <[email protected]>
Date:   Mon May 20 14:22:46 2013 +0200

libpacman: Add f_stringlist_remove_all.

diff --git a/lib/libflib/fstringlist.c b/lib/libflib/fstringlist.c
index fb9c5d9..4ce3ec1 100644
--- a/lib/libflib/fstringlist.c
+++ b/lib/libflib/fstringlist.c
@@ -43,6 +43,14 @@ FList *f_stringlist_find (FList *list, const char *str) {
return f_list_detect (list, (FDetectFunc)strcmp, (void *)str);
}

+FList *f_stringlist_remove_all (FList *list, const char *str) {
+       FList *excludes = f_list_new ();
+
+       _f_list_exclude (&list, &excludes, (FDetectFunc)strcmp, str);
+       f_list_delete (excludes, (FVisitorFunc)f_free, NULL);
+       return list;
+}
+
FList *f_stringlist_uniques (FList *list) {
return f_list_uniques (list, (FCompareFunc)strcmp, NULL);
}
diff --git a/lib/libflib/fstringlist.h b/lib/libflib/fstringlist.h
index e471808..b80a507 100644
--- a/lib/libflib/fstringlist.h
+++ b/lib/libflib/fstringlist.h
@@ -27,6 +27,7 @@ FList *f_stringlist_append (FList *list, const char *str);
FList *f_stringlist_deep_copy (FList *list);
void   f_stringlist_detach (FList *list);
FList *f_stringlist_find (FList *list, const char *str);
+FList *f_stringlist_remove_all (FList *list, const char *str);
FList *f_stringlist_uniques (FList *list);

#endif /* F_STRINGLIST_H */
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to