X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fstrv.h;fp=src%2Fshared%2Fstrv.h;h=e26ab828d2598922a1a2b2148d5d8624ea142988;hb=c4a7b2c56e907e39fa9a6cdb21c1970464abd44e;hp=b356d034c6df6734ef74f636bbe677a7f30cb0f3;hpb=cb9da7f24fb057813606c87f9a73fdb941baa78c;p=elogind.git diff --git a/src/shared/strv.h b/src/shared/strv.h index b356d034c..e26ab828d 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]; \ + }))