chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prep v225: Applying various fixes and changes to src/basic that got lost during git...
[elogind.git]
/
src
/
basic
/
macro.h
diff --git
a/src/basic/macro.h
b/src/basic/macro.h
index 58530a398089a1ff16b199111bde046659a3bf40..627d768b76bada29f5f7d106a13ca215a55470cf 100644
(file)
--- a/
src/basic/macro.h
+++ b/
src/basic/macro.h
@@
-407,12
+407,12
@@
do { \
#define IN_SET(x, y, ...) \
({ \
#define IN_SET(x, y, ...) \
({ \
-
const typeof(y) _y = (y);
\
- const typeof(
_y) _x = (x);
\
+
static const typeof(y) _array[] = { (y), __VA_ARGS__ };
\
+ const typeof(
y) _x = (x);
\
unsigned _i; \
bool _found = false; \
unsigned _i; \
bool _found = false; \
- for (_i = 0; _i <
1 + sizeof((const typeof(_x)[]) { __VA_ARGS__ })/sizeof(const typeof(_x)); _i++)
\
- if (
((const typeof(_x)[]) { _y, __VA_ARGS__ })[_i] == _x) {
\
+ for (_i = 0; _i <
ELEMENTSOF(_array); _i++)
\
+ if (
_array[_i] == _x) {
\
_found = true; \
break; \
} \
_found = true; \
break; \
} \