From: Lennart Poettering Date: Wed, 27 Jan 2010 21:38:21 +0000 (+0100) Subject: introduce strv_contains() X-Git-Tag: v1~785 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=cba8922fd40b9eca203bc1d63bef72dd1edf302c;p=elogind.git introduce strv_contains() --- diff --git a/strv.c b/strv.c index faa878c00..7e0810bff 100644 --- a/strv.c +++ b/strv.c @@ -145,3 +145,13 @@ fail: return NULL; } + +bool strv_contains(char **l, const char *s) { + char **i; + + STRV_FOREACH(i, l) + if (streq(*i, s)) + return true; + + return false; +} diff --git a/strv.h b/strv.h index 9504cccad..cc21eb193 100644 --- a/strv.h +++ b/strv.h @@ -12,10 +12,12 @@ unsigned strv_length(char **l); char **strv_merge(char **a, char **b); +bool strv_contains(char **l, const char *s); + char **strv_new(const char *x, ...) __sentinel; #define STRV_FOREACH(s, l) \ - for ((s) = (l); (l) && *(s); (s)++) + for ((s) = (l); (s) && *(s); (s)++) #define STRV_FOREACH_BACKWARDS(s, l) \ for (; (l) && ((s) >= (l)); (s)--)