From 61b525fbc16c26fd3e4ed14c8b952c8654ad8393 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 4 Sep 2025 17:09:57 -0700 Subject: [PATCH] nasmlib.h: add convenience macros for iterating over fixed arrays Iterating over fixed arrays is a common operation; add macros to simplify the task. Signed-off-by: H. Peter Anvin (Intel) --- include/nasmlib.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/nasmlib.h b/include/nasmlib.h index 31d7b4545..9602c92ba 100644 --- a/include/nasmlib.h +++ b/include/nasmlib.h @@ -309,6 +309,10 @@ const char *filename_set_extension(const char *inname, const char *extension); * the number of elements of a statically defined array. */ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define ARRAY_END(arr) (&(arr)[ARRAY_SIZE(arr)]) +#define array_for_each(var,arr) \ + for ((var) = (arr); (var) < ARRAY_END(arr); (var)++) + /* * List handling