On Fri, Jan 20, 2023 at 10:35:02AM -0800, Kui-Feng Lee wrote: > The following idea should work with the use case here. > > #define COUNT_8(x, y...) 8 > #define COUNT_7(x, y...) 7 > #define COUNT_6(x, y...) 6 > #define COUNT_5(x, y...) 5 > #define COUNT_4(x, y...) 4 > #define COUNT_3(x, y...) 3 > #define COUNT_2(x, y...) 2 > #define COUNT_1(x, y...) 1 > #define COUNT_0(x, y...) 0 > #define COUNT1_8(x, y...) COUNT ## x ## _9(y) > #define COUNT1_7(x, y...) COUNT ## x ## _8(y) > #define COUNT1_6(x, y...) COUNT ## x ## _7(y) > #define COUNT1_5(x, y...) COUNT ## x ## _6(y) > #define COUNT1_4(x, y...) COUNT ## x ## _5(y) > #define COUNT1_3(x, y...) COUNT ## x ## _4(y) > #define COUNT1_2(x, y...) COUNT ## x ## _3(y) > #define COUNT1_1(x, y...) COUNT ## x ## _2(y) > #define COUNT1_0(x, y...) COUNT ## x ## _1(y) > #define COUNT(x, y...) COUNT ## x ## _0(y) > > #define COUNT_EXPAND(x...) COUNT(x) > > > #if IS_ENABLED(CONFIG_SECURITY_SELINUX) > #define SELINUX_ENABLE 1, > #else > #define SELINUX_ENABLE > #endif > #if IS_ENABLED(CONFIG_SECURITY_XXXX) > #define XXX_ENABLE 1, > #else > #define XXX_ENABLE > #endif > .... > > #define MAX_LSM_COUNT COUNT_EXPAND(SELINUX_ENABLE XXX_ENABLE ......) Oh, I love it! :) Yup, that should do it nicely. -- Kees Cook