summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/strv.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/strv.h b/src/shared/strv.h
index b356d034c6..e26ab828d2 100644
--- a/src/shared/strv.h
+++ b/src/shared/strv.h
@@ -119,3 +119,15 @@ void strv_print(char **l);
})
#define STR_IN_SET(x, ...) strv_contains(STRV_MAKE(__VA_ARGS__), x)
+
+#define FOREACH_STRING(x, ...) \
+ for (char **_l = ({ \
+ char **_ll = STRV_MAKE(__VA_ARGS__); \
+ x = _ll ? _ll[0] : NULL; \
+ _ll; \
+ }); \
+ _l && *_l; \
+ x = ({ \
+ _l ++; \
+ _l[0]; \
+ }))