summaryrefslogtreecommitdiff
path: root/libshouldbeinlibc/argp-parse.c
AgeCommit message (Collapse)Author
1997-02-12(parser_parse_next):Miles Bader
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.
1997-02-12(__progname, __progname_full):Miles Bader
Decls removed. (argp_default_parser): Use PROGRAM_INVOCATION_NAME & PROGRAM_INVOCATION_SHORT_NAME instead of __PROGNAME_FULL & __PROGNAME.
1997-02-12(__argp_parse): Renamed from argp_parse.Miles Bader
[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.
1997-02-12Largely rewritten to clean up the code, avoid using nested functions, andMiles Bader
adapt namespace and locking in preparation for moving into libc.
1997-02-11(argp_default_parser):Miles Bader
Use strrchr instead of rindex. (argp_parse): Use strchr instead of index, memset instead of bzero.
1997-02-09(argp_parse):Miles Bader
Support ARGP_LONG_ONLY. Don't parse OPTION_DOC options.
1996-10-24(argp_parse):Miles Bader
Convert to use the new type of argp children vectors.
1996-10-15(argp_parse):Miles Bader
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.
1996-07-10(argp_version_options, argp_version_parser):Miles Bader
Use an uppercase 'V' for short version option.
1996-07-06(argp_version_parser):Miles Bader
Output ARGP_PROGRAM_VERSION to STATE->out_stream, not stdout. Supply that stream and STATE to ARGP_PROGRAM_VERSION_HOOK.
1996-06-27(argp_parse): Zero the CHILD_INPUTS vector.Miles Bader
1996-06-21(argp_parse):Miles Bader
Use group_parse instead of calling group parser directly for long options.
1996-06-17(argp_parse): Handle null streams.Miles Bader
1996-06-17(argp_default_parser): Output to STATE->out_stream.Miles Bader
(argp_parse): Initialize new fields in STATE. Output errors to STATE.err_stream.
1996-05-23(argp_default_parser): Break after --HANG.Miles Bader
1996-05-22(argp_parse): Only print a `Try...' message if the error was a parsing error.Miles Bader
1996-05-11(argp_parse): Turn any EBADKEY that makes it to the end back into EINVAL.Miles Bader
1996-05-11ARGP_ERR_UNKNOWN_KEY --> ARGP_ERR_UNKNOWN.Miles Bader
1996-05-11(EBADKEY): New define.Miles Bader
(argp_default_parser, argp_version_parser, argp_parse): Use EBADKEY instead of EINVAL.
1996-05-02(_argp_hang): New variable.Miles Bader
(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.
1996-05-01(argp_parse): Work with ARGP == 0.Miles Bader
1996-04-03(argp_parse):Miles Bader
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.
1996-03-19(struct group): Add PARENT, PARENT_INDEX, HOOK, and CHILD_HOOKS fields.Miles Bader
(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.
1996-02-29(argp_parse): Print an error message if appropiate when we know there are tooMiles Bader
many arguments.
1996-02-15(argp_parse): Correctly deal with errors from getopt, and allow the user toMiles Bader
use '?' as a short option. (KEY_ERR): New macro. (argp_default_options, argp_default_parser): Use -? as the short option for --help.
1996-02-14(argp_parse):Miles Bader
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.
1996-02-09(argp_parse):Miles Bader
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).
1996-02-05(argp_parse): Implement the ARG_NUM field.Miles Bader
1996-02-05(argp_default_options, argp_default_argp, argp_parse, find_long_option):Miles Bader
Add `const' where appropriate.
1996-01-19(argp_default_options, argp_default_parser):Miles Bader
Add --program-name (hidden) option. (OPT_PROGNAME): New macro.
1996-01-03(_argp_unlock_xxx): New function.Miles Bader
1995-12-21(argp_default_options): Put --help in group -1.Miles Bader
1995-12-06(argp_parse): Changes uses of the INDEX field in struct argp_state to use NEXT.Miles Bader
1995-10-13(argp_parse): If an option alias doesn't have a key, use the real key.Miles Bader
1995-10-12(argp_parse): Correctly mark short options as optional.Miles Bader
1995-10-11(argp_parse):Miles Bader
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.
1995-10-11(argp_parse):Miles Bader
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.
1995-10-10(argp_parse): Add support for ARGP_KEY_NO_ARGS.Miles Bader
1995-10-10Initial revisionMiles Bader