macro: also move FOREACH_ARRAY()/FOREACH_ELEMENT() to fundamental

This is also very useful in EFI code.
This commit is contained in:
Lennart Poettering
2024-06-26 16:01:06 +02:00
parent 72b1809bbc
commit ba81c365f8
2 changed files with 12 additions and 12 deletions
-12
View File
@@ -263,18 +263,6 @@ static inline int __coverity_check_and_return__(int condition) {
/* Pointers range from NULL to POINTER_MAX */
#define POINTER_MAX ((void*) UINTPTR_MAX)
#define _FOREACH_ARRAY(i, array, num, m, end) \
for (typeof(array[0]) *i = (array), *end = ({ \
typeof(num) m = (num); \
(i && m > 0) ? i + m : NULL; \
}); end && i < end; i++)
#define FOREACH_ARRAY(i, array, num) \
_FOREACH_ARRAY(i, array, num, UNIQ_T(m, UNIQ), UNIQ_T(end, UNIQ))
#define FOREACH_ELEMENT(i, array) \
FOREACH_ARRAY(i, array, ELEMENTSOF(array))
#define _DEFINE_TRIVIAL_REF_FUNC(type, name, scope) \
scope type *name##_ref(type *p) { \
if (!p) \