Blame 0001-Copy-FOREACH_STRING-fix-from-systemd.patch

960d998
From 90d4abd26bfd7e7f2e84873037293074bbc25be9 Mon Sep 17 00:00:00 2001
960d998
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
960d998
Date: Thu, 21 Feb 2019 11:27:33 +0100
960d998
Subject: [PATCH] Copy FOREACH_STRING fix from systemd
960d998
960d998
This is a copy of
960d998
https://github.com/systemd/systemd/commit/66a64081f82dfad90f2f9394a477820a2e3e6510.
960d998
---
960d998
 src/util.h | 15 ++++-----------
960d998
 1 file changed, 4 insertions(+), 11 deletions(-)
960d998
960d998
diff --git a/src/util.h b/src/util.h
960d998
index feefeaa97a..dcc8ff3995 100644
960d998
--- a/src/util.h
960d998
+++ b/src/util.h
960d998
@@ -552,17 +552,10 @@ static inline size_t strlen_null(const char *s) {
960d998
 
960d998
 #define STRV_MAKE(...) ((char**) ((const char*[]) { __VA_ARGS__, NULL }))
960d998
 
960d998
-#define FOREACH_STRING(x, ...)                               \
960d998
-        for (char **_l = ({                                  \
960d998
-                char **_ll = STRV_MAKE(__VA_ARGS__);         \
960d998
-                x = _ll ? _ll[0] : NULL;                     \
960d998
-                _ll;                                         \
960d998
-        });                                                  \
960d998
-        _l && *_l;                                           \
960d998
-        x = ({                                               \
960d998
-                _l ++;                                       \
960d998
-                _l[0];                                       \
960d998
-        }))
960d998
+#define FOREACH_STRING(x, y, ...)                                       \
960d998
+        for (char **_l = STRV_MAKE(({ x = y; }), ##__VA_ARGS__);        \
960d998
+             x;                                                         \
960d998
+             x = *(++_l))
960d998
 
960d998
 #define STR_IN_SET(x, ...) strv_contains(STRV_MAKE(__VA_ARGS__), x)
960d998
 
960d998
-- 
960d998
2.19.2
960d998