uhoh()
is the simpler routine. It formats and displays a one-line usage message consisting of pgm followed by usage followed by a fixed string "(-h for more detail)".
See the purple text below for an example
.
- calls the uhoh() routine to display the usage line using the pgm and usage arguments.
- formats and displays the strings it received in the HelpText array. There is a limited printf-like facility when these strings are displayed; each string is scanned looking for "%d". If one is found then the corresponding value (first, second ...) from the HelpData is used as the number replacing %d.
- formats and displays some fixed text after the HelpText.
- a brief description of the conventions used to invoke the calling program.
See the red text below for an example.
- a brief description of the format for options.
It is up to the user to handle -h in the callback routine in addition to whatever options [s]he might specify.
See the green text below for an example.
- displays the version_id (which, in my case, is usually an RCS id string).
See the orange text below for an example
Example
Usage: mll [-t#m#s#lb3h] [files...]
Measure length of lines in a file.
Options :
-t# treats tabstops as occurring every # characters (default=8)
-m# information only for files with longest line > # (default=80)
-s# indicates lines longer than # (default=80)
-l displays longest line and lines longer than -s#
-b treats BACKSPACE and DELETE as normal characters
(otherwise they decrease the char count by one)
-3 count trigraphs as 3 characters
trigraph characters are #, [, ], {, }, \, ^, and ~
-h display this message and terminate
The "files" argument indicates the names of files to be converted. If no
files are specified or if the filename is a single '-', standard input is
converted.
Converted output is always written to single standard output stream
(which may be redirected to a file).
On specifying options:
Option letters are case-insensitive, e.g. -h and -H are equivalent.
Options must occur before filename arguments and start with a dash
('-') immediately followed by an option character.
For options that take values (example: -t#), the value may optionally
be separated from the option letter by white space.
(mll $Revision: 1.6 $ $Date: 2007-10-01 19:37:41-04 $)