-# define XARGMATCH(Kind, Arg, Arglist, Vallist) \
- Vallist [__xargmatch_internal (Kind, Arg, Arglist, \
- (const char *) Vallist, sizeof (*Vallist), 1)]
-
-# define XARGCASEMATCH(Kind, Arg, Arglist, Vallist) \
- Vallist [__xargmatch_internal (Kind, Arg, Arglist, \
- (const char *) Vallist, sizeof (*Vallist), 0)]
+ptrdiff_t __xargmatch_internal (char const *context,
+ char const *arg, char const *const *arglist,
+ char const *vallist, size_t valsize,
+ argmatch_exit_fn exit_fn);