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 |
|