summaryrefslogtreecommitdiff
path: root/strv.h
blob: 43a5c5954b8b959a3f29895e5d36a4016d0df713 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*-*- Mode: C; c-basic-offset: 8 -*-*/

#ifndef foostrvhfoo
#define foostrvhfoo

#include "macro.h"

char *strv_find(char **l, const char *name);
void strv_free(char **l);
char **strv_copy(char **l);
unsigned strv_length(char **l);

char **strv_new(const char *x, ...) __sentinel;

#define STRV_FOREACH(s, l)                      \
        for ((s) = (l); (l) && *(s); (s)++)

#define STRV_FOREACH_BACKWARDS(s, l)            \
        for (; (l) && ((s) >= (l)); (s)--)

#endif