Age | Commit message (Collapse) | Author |
|
Decrement PARSER->state.next if we consumed an arg we didn't end up parsing.
Set ARG_EBADKEY ourselves in all cases.
(parser_parse_arg, parser_parse_opt):
Get rid of ARG_EBADKEY param.
|
|
Decls removed.
(argp_default_parser):
Use PROGRAM_INVOCATION_NAME & PROGRAM_INVOCATION_SHORT_NAME instead of
__PROGNAME_FULL & __PROGNAME.
|
|
[weak_alias] (argp_parse): New weak alias.
(argp_default_parser, parser_finalize):
Use __argp_state_help, not argp_state_help.
(argp_version_parser): Use __argp_error, not argp_error.
(convert_options, calc_sizes): Use __option_is_end, not _option_is_end.
(convert_options): Use __option_is_short, not _option_is_short.
|
|
adapt namespace and locking in preparation for moving into libc.
|
|
Use strrchr instead of rindex.
(argp_parse):
Use strchr instead of index, memset instead of bzero.
|
|
Support ARGP_LONG_ONLY.
Don't parse OPTION_DOC options.
|
|
Convert to use the new type of argp children vectors.
|
|
Don't consume non-option arguments that aren't recognized by any parser.
Allocate enough space for TOP_ARGP's parent list to include the version
parser.
|
|
Use an uppercase 'V' for short version option.
|
|
Output ARGP_PROGRAM_VERSION to STATE->out_stream, not stdout.
Supply that stream and STATE to ARGP_PROGRAM_VERSION_HOOK.
|
|
|
|
Use group_parse instead of calling group parser directly for long options.
|
|
|
|
(argp_parse):
Initialize new fields in STATE. Output errors to STATE.err_stream.
|
|
|
|
|
|
|
|
|
|
(argp_default_parser, argp_version_parser, argp_parse):
Use EBADKEY instead of EINVAL.
|
|
(OPT_HANG): New macro.
(argp_default_options, argp_default_parser): Add hidden --HANG option.
(argp_default_parser): New function.
(argp_version_options, argp_version_argp): New variables.
(argp_parse): Use ARGP_VERSION_ARGP when appropiate.
|
|
|
|
Change HOOK argument to INPUT.
Don't propagate back return values when we're done.
(struct group):
Rename HOOK & CHILD_HOOKS to INPUT & CHILD_INPUTS.
Add HOOK field again.
(group_parse):
Restore & save value of GROUP's hook field into STATE around calling the
parser.
Don't save changed value of INPUT.
|
|
(argp_parse):
Add HOOK argument.
Implement passing hook values to parsers, and propagating them between
parents and children.
When printing `too many arguments', test ARGP_NO_ERRS, not ARGP_NO_HELP.
(argp_default_options): Add --usage option.
(argp_default_parser):
Use argp_state_help, so we don't need to screw with exit options anymore.
Add usage option.
|
|
many arguments.
|
|
use '?' as a short option.
(KEY_ERR): New macro.
(argp_default_options, argp_default_parser):
Use -? as the short option for --help.
|
|
Don't parse args in order by default.
Deal correctly when the user turns a non-option arg into an option in
re-ordering mode.
Honor ARGP_NO_ARGS.
Use KEY_END, KEY_ARG, and QUOTE.
(KEY_END): New macro, in place of EOF.
(KEY_ARG, QUOTE): New macros.
|
|
When a non-option arg fails to be parsed with EINVAL, set ARG_EINVAL true,
and leave ERR as is until just before we return.
Put process_arg() in the right scope.
Deal with getopt returning EOF early because of `--'.
Make STATE.arg_num per-group.
(struct group):
Renamed process_arg field to args_processed (a count).
|
|
|
|
Add `const' where appropriate.
|
|
Add --program-name (hidden) option.
(OPT_PROGNAME): New macro.
|
|
|
|
|
|
|
|
|
|
|
|
Update STATE.argp when adding a wrapper to implement the --help option.
In general, use the version of variables that are in STATE.
Update STATE.index in the case where getopt returns EOF.
Correctly translate options.
(argp_default_parser, argp_parse): Rename uses of argp_usage* to argp_help*.
(argp_parse):
Deal with null parser or option fields.
If an argp has neither a parser or any options, don't put it in GROUPS.
Use comparison with EGROUP, rather than testing the parser field, the end
test for iteration over GROUPS.
(argp_parse): Pass in the right value for GROUPS to convert_options.
|
|
Put all the group attributes into structures which get stored in the GROUPS
array, rather than having a separate array for each.
Implement ARGP_KEY_NO_ARGS in a better way.
|
|
|
|
|