2000-08-15 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* cli2pod.pl: Replaced the CLI documentation programs with this
script which outputs POD, which can be translated to man pages or
HTML (or LaTeX, or text, or FM).
2000-08-14 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* cli_parse.pl (parse_header_line): Rewrote the parsing to deal
with multi-line strings.
* cli2man.pl (synopsis): Add usage string.
* cli2html.pl (synopsis): Add usage string.
2000-08-12 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* cli_parse.pl, cli2html.pl, cli2man.pl: Created these programs.
2000-08-01 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* main.cc (show_option): Fixed several width glitches.
2000-07-18 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* cli.h (struct cli_option): Added new uinteger type.
* main.cc (fill): Removed use of mystring.
2000-07-13 Bruce Guenter <bruce@bruce-guenter.dyndns.org>
* Removed include of mystring.
2000-01-09 Bruce Guenter <bruceg@daedalus.bfsmedia.com>
* main.cc (parse_short): Modified the logic here to treat a string
value immediately following a string option as the value for that
option rather than as more flags. This makes it behave much more
like the standard getopt library.
1999-09-30 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (show_option): Changed stringlist option string from
"=LIST" to "=ITEM".
1999-09-29 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (cli_option::set): Fixed problem with setting a string
list option.
1999-09-11 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (show_help): Split off two parts of this routine into
calc_max_width and show_option.
(show_option): Add "=INT" for integer options, and don't add extra
space for non-value long options.
(set): Use strtol instead of atoi to parse the integer string, to
allow for error checking.
(show_option): Fixed handling of string lists.
1999-08-14 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (set_argv0): Sets argv0 to the complete value of
argv[0], argv0dir to the part of argv[0] up to and including the
last '/' (or blank if there is none), and argv0base to the
remainder of argv[0]. This is for use in programs that determine
what to do based on the value of the program name.
1999-07-14 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (parse_long_eq): Fixed to account for "counter" flag
type.
(parse_long_noeq): Fixed to account for "counter" flag type.
(parse_long_eq): set() will return one, but this shouldn't return
one, so subtract one from its result.
(show_help): Added a mechanism to display default values on a
second line.
(show_help): Output a blank line before the "--help" option line.
1999-07-04 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (show_help): Only show a "=VALUE" for string and integer
option types.
1999-06-30 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* messages.cc (cli_error): Moved this routine into a separate
module, and added a "cli_warning" routine.
1999-06-25 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc (set): Added handling for two new option types: string
list and counters. A stringlist maintains a linked list of all
the given option arguments. A counter adds the flag_value to the
dataptr each time it is encountered.
(parse_short): Fixed faulty logic regarding options with values.
Need to merge parts into cli_option::set().
1999-06-24 Bruce Guenter <bguenter@mikhail.qcc.sk.ca>
* main.cc: Rewrote the "help" option handling to stop it being a
special case, by making an internal option list that includes a
"help" option at the end of it.
(show_help): Cleaned up the option formatting to produce more
correct output.
(build_options): Removed the need to count the options. Note
that this breaks compatibility with previous versions.
(cli_error): Added this convenience function for the CLI program
to report errors and optionally exit.
(set): Added functionality to call functions when an option is
parsed, and moved some of the option parsing into class methods
from the structure.
(main): Moved the test for showing the usage information before
the test for counting command-line arguments.