Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=4738aaae12ba59cc371f97ad73ec4c738cabda1f
commit 4738aaae12ba59cc371f97ad73ec4c738cabda1f Author: Michel Hermier <herm...@frugalware.org> Date: Sat Dec 14 12:09:56 2013 +0100 libpacman: Add f_stringlist_all_match and f_stringlist_any_match. diff --git a/lib/libpacman/util/stringlist.c b/lib/libpacman/util/stringlist.c index bd1b128..bf9a0f6 100644 --- a/lib/libpacman/util/stringlist.c +++ b/lib/libpacman/util/stringlist.c @@ -74,6 +74,34 @@ FStringList *_pacman_list_strdup(FStringList *list) return(newlist); } +int f_stringlist_all_match(const FStringList *list, const FStrMatcher *matcher) +{ + const FStringListItem *it; + + if(f_list_empty(list)) { + return 0; + } + + for(it = list; it != NULL; it = it->next) { + if(f_str_match(list->data, matcher) == 0) { + return 0; + } + } + return 1; +} + +int f_stringlist_any_match(const FStringList *list, const FStrMatcher *matcher) +{ + const FStringListItem *it; + + for(it = list; it != NULL; it = it->next) { + if(f_str_match(list->data, matcher) != 0) { + return 1; + } + } + return 0; +} + FStringList *f_stringlist_append(FStringList *list, const char *s) { return _pacman_list_add(list, strdup(s)); diff --git a/lib/libpacman/util/stringlist.h b/lib/libpacman/util/stringlist.h index bb5d8c3..c6e8d44 100644 --- a/lib/libpacman/util/stringlist.h +++ b/lib/libpacman/util/stringlist.h @@ -21,7 +21,8 @@ #ifndef _PACMAN_STRINGLIST_H #define _PACMAN_STRINGLIST_H -#include "list.h" +#include "util/list.h" +#include "fstring.h" typedef struct __pmlist_t FStringList; typedef struct __pmlist_t FStringListItem; @@ -32,6 +33,8 @@ int _pacman_list_is_strin(const char *needle, FStringList *haystack); FStringList *_pacman_list_remove_dupes(FStringList *list); FStringList *_pacman_list_strdup(FStringList *list); +int f_stringlist_all_match(const FStringList *list, const FStrMatcher *matcher); +int f_stringlist_any_match(const FStringList *list, const FStrMatcher *matcher); FStringList *f_stringlist_append(FStringList *list, const char *s); FStringList *f_stringlist_append_stringlist(FStringList *dest, const FStringList *src); _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git