Convert some programs to use the exit codes from <sysexits.h>. Change
all programs using the "argp" parsing functions to use them correctly;
checking return value, using argp_error() to report parse errors etc.
* plugin-runner.c: Use <sysexits.h> exit codes. Always use fallback,
even on option errors, except for "--help", etc.
(getplugin): Make sure "errno" is set correctly on return.
(main): Declare our own "--help", "--usage", and "--version"
options which do not cause the fallback to be invoked.
In all other options, use fallback on any error.
(parse_opt, parse_opt_config_file): Reset errno at start and return
errno. No need to check "arg"
for NULL. New "--help",
"--usage", and "--version"
options.
(parse_opt): Accept empty string as global option. Do not print
errors which will be detected and reported later. Do
"argp_error()" on parse error or empty plugin names.
* plugins.d/mandos-client.c: Use <sysexits.h> exit codes. Do not
return successful exit code on "--help",
etc. since this would give the wrong
message to "plugin-runner".
(main): Declare our own "--help", "--usage", and "--version"
options which do not return a successful exit code.
(parse_opt): Reset errno at start and return errno. Do
"argp_error()" on parse errors. New "--help",
"--usage", and "--version" options.
* plugins.d/password-prompt.c: Use exit codes from <sysexits.h>. Do
not return successful exit code on
"--help", etc. since this would give
the wrong message to "plugin-runner".
(main): Declare our own "--help", "--usage", and "--version" options
which do not return a successful exit code. Do
close(STDOUT_FILENO) after writing to check its return code.
(parse_opt): Reset errno at start and return errno.