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
