[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ARGP: Documentation of

From: Robert Hairgrove
Subject: Re: ARGP: Documentation of
Date: Thu, 4 Dec 2014 12:53:06 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Robert Hairgrove <bob <at> roberthairgrove.com> writes:
> I am writing some little C++ wrapper classes for the argp functions.
> Unfortunately, I cannot find any documentation of the argp_child::flags
> member, i.e.: what possible values it could have. The only documentation
> seems to be the one line comment in argp.h: "Flags for this child", which is
> slightly less than helpful...
> One would think that it might take the same values as the flags argument to
> the main argp_parse() function; however, that argument is unsigned, whereas
> the argp_child member is declared as an int.

OK, digging around in the source code at argp_parse.c, I see that flags from
argp_parse (which are unsigned) are passed verbatim to this function:

static error_t
parser_init (struct parser *parser, const struct argp *argp,
             int argc, char **argv, int flags, void *input);

...in the function __argp_parse():

 /* Construct a parser for these arguments.  */
  err = parser_init (&parser, argp, argc, argv, flags, input);

Maybe passing signed/unsigned arguments around without a cast is OK for C
programs, but I think the documentation could be improved here to at least
say what domain of values are used, and argp_child::flags should be declared
unsigned as well.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]