/* Resolves to the four parameters for non-arg callbacks. */
#define OPT_CB_NOARG(cb, arg) \
OPT_NOARG, \
- cast_if_any(char *(*)(void *), (cb), &*(cb), \
+ cast_if_any(char *(*)(void *), (cb), (cb)+0, \
char *(*)(typeof(*(arg))*), \
char *(*)(const typeof(*(arg))*), \
char *(*)(const void *)), \
/* Resolves to the four parameters for arg callbacks. */
#define OPT_CB_ARG(cb, show, arg) \
OPT_HASARG, NULL, \
- cast_if_any(char *(*)(const char *,void *), (cb), &*(cb), \
+ cast_if_any(char *(*)(const char *,void *), (cb), (cb)+0, \
char *(*)(const char *, typeof(*(arg))*), \
char *(*)(const char *, const typeof(*(arg))*), \
char *(*)(const char *, const void *)), \
- cast_if_type(void (*)(char buf[], const void *), (show), &*(show), \
+ cast_if_type(void (*)(char buf[], const void *), (show), (show)+0, \
void (*)(char buf[], const typeof(*(arg))*)), \
(arg)