X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fargmatch.h;h=e4c8027144a82e2c4cb11e0767fe4fb4fe79f694;hb=c96bab3fee48a9df55e7366344f838e1fc785c28;hp=4972abe956c22101b1803b9eea851b4fb4047a9c;hpb=441aa3044f43e5572f58c354f01e6bc070acd5c7;p=gnulib.git diff --git a/lib/argmatch.h b/lib/argmatch.h index 4972abe95..e4c802714 100644 --- a/lib/argmatch.h +++ b/lib/argmatch.h @@ -1,6 +1,6 @@ /* argmatch.h -- definitions and prototypes for argmatch.c - Copyright (C) 1990, 1998, 1999, 2001, 2002, 2004, 2005 Free Software + Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -26,6 +26,10 @@ # include "verify.h" +#ifdef __cplusplus +extern "C" { +#endif + # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) /* Assert there are as many real arguments as there are values @@ -40,14 +44,14 @@ to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE; # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which - in turn defaults to `exit (exit_failure)'. */ + in turn defaults to 'exit (exit_failure)'. */ typedef void (*argmatch_exit_fn) (void); extern argmatch_exit_fn argmatch_die; @@ -73,8 +77,8 @@ void argmatch_valid (char const *const *arglist, -/* Same as argmatch, but upon failure, reports a explanation on the - failure, and exits using the function EXIT_FN. */ +/* Same as argmatch, but upon failure, report an explanation of the + failure, and exit using the function EXIT_FN. */ ptrdiff_t __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, @@ -93,10 +97,15 @@ ptrdiff_t __xargmatch_internal (char const *context, char const *argmatch_to_argument (char const *value, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) + _GL_ATTRIBUTE_PURE; # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ (char const *) (Vallist), sizeof *(Vallist)) +#ifdef __cplusplus +} +#endif + #endif /* ARGMATCH_H_ */