From 838a8a566be5a722e299f54306fde9496a4bdca4 Mon Sep 17 00:00:00 2001 From: Herman Chen Date: Mon, 13 Oct 2025 16:36:03 +0800 Subject: [PATCH] fix[kmpp_obj_macro]: Fix GET_ARG0 macro Signed-off-by: Herman Chen Change-Id: I31d48a2e41ac492b19d325154bebc3dbb71a3aff --- kmpp/base/inc/kmpp_obj_macro.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kmpp/base/inc/kmpp_obj_macro.h b/kmpp/base/inc/kmpp_obj_macro.h index 5dd3ab18..8079fd2c 100644 --- a/kmpp/base/inc/kmpp_obj_macro.h +++ b/kmpp/base/inc/kmpp_obj_macro.h @@ -169,7 +169,10 @@ typedef enum ElemFlagType_e { #define ENTRY_NOTHING(prefix, ftype, type, name, flag, ...) -#define GET_ARG0(def, ...) GET_ARG0_(def, __VA_ARGS__) -#define GET_ARG0_(def, _0, ...) _0 +#define GET_ARG0(val, ...) GET_ARG0_CHOOSER(dummy, ##__VA_ARGS__)(__VA_ARGS__) +#define GET_ARG0_1(_1) (-1) +#define GET_ARG0_2(_1, _2, ...) _1 +#define GET_ARG0_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, N, ...) GET_ARG0_##N +#define GET_ARG0_CHOOSER(...) GET_ARG0_N(__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) #endif /* __KMPP_OBJ_MACRO_H__ */