false ambiguities (i.e., different matches of ARG but corresponding
to the same values in VALLIST). */
-int argmatch (char const *arg, char const *const *arglist,
- char const *vallist, size_t valsize);
+ptrdiff_t argmatch (char const *arg, char const *const *arglist,
+ char const *vallist, size_t valsize);
# define ARGMATCH(Arg, Arglist, Vallist) \
argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
/* Report on stderr why argmatch failed. Report correct values. */
-void argmatch_invalid (char const *context, char const *value, int problem);
+void argmatch_invalid (char const *context, char const *value,
+ ptrdiff_t problem);
/* Left for compatibility with the old name invalid_arg */
/* Same as argmatch, but upon failure, reports a explanation on the
failure, and exits using the function EXIT_FN. */
-int __xargmatch_internal (char const *context,
- char const *arg, char const *const *arglist,
- char const *vallist, size_t valsize,
- argmatch_exit_fn exit_fn);
+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);
/* Programmer friendly interface to __xargmatch_internal. */