chiark / gitweb /
introduce strv_contains()
[elogind.git] / strv.h
1 /*-*- Mode: C; c-basic-offset: 8 -*-*/
2
3 #ifndef foostrvhfoo
4 #define foostrvhfoo
5
6 #include "macro.h"
7
8 char *strv_find(char **l, const char *name);
9 void strv_free(char **l);
10 char **strv_copy(char **l);
11 unsigned strv_length(char **l);
12
13 char **strv_merge(char **a, char **b);
14
15 bool strv_contains(char **l, const char *s);
16
17 char **strv_new(const char *x, ...) __sentinel;
18
19 #define STRV_FOREACH(s, l)                      \
20         for ((s) = (l); (s) && *(s); (s)++)
21
22 #define STRV_FOREACH_BACKWARDS(s, l)            \
23         for (; (l) && ((s) >= (l)); (s)--)
24
25 #endif