#define CFG_USED(type, name, stuff) \ { .compFunc = compare_ ## type; /* */ }, #define CFG_UNUSED(type, name, stuff) /* unused */ #define CFG_ADD(type, name, stuff) CFG_USE_ ## type (type,name,stuff) #ifdef USING_int #define CFG_USE_int CFG_USED #else #define CFG_USE_int CFG_UNUSED #endif ... #### static inline int _inline_cmpfunc_int(void *a, void *b) { int _a = *(int*)a, _b = *(int*)b; return (_a > _b) - (_a < _b); } #### static foo compare_foo(void *a, void *b) { return _inline_cmpfunc_foo(a, b); }