Return of an exit status of zero when running commands with -help,
instead of returning an error. By general convention, and in
previous versions, tools do not not treat -help as an error.
The AFS::Command perl modules, use -help as an introspection
technique, and fail when commands run with the -help option returns
non-zero.
Change-Id: I6ecd95f6ccd07218a2657dbb4dbf1c13599159f4
Reviewed-on: http://gerrit.openafs.org/8087
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
/* Display full help syntax if we don't have subcommands */
if (noOpcodes)
PrintFlagHelp(ts);
- code = CMD_USAGE;
+ code = CMD_HELP;
goto out;
}
int code;
code = cmd_Parse(argc, argv, &ts);
- if (code)
+ if (code) {
+ if (code == CMD_HELP) {
+ code = 0; /* displaying help is not an error */
+ }
return code;
+ }
/*
* Before calling the beforeProc and afterProc and all the implications
ec CMD_TOOBIG, "Token too large"
ec CMD_MISSING, "Option not specified on command line"
ec CMD_BADFORMAT, "Improper format of configuration file"
+ ec CMD_HELP, "Help requested"
end
code = cmd_ParseLine("-help", tv, &tc, 100);
is_int(0, code, "cmd_ParseLine succeeds");
code = cmd_Parse(tc, tv, &retopts);
- is_int(CMD_USAGE, code, "cmd_Parse returns usage error with help output");
+ is_int(CMD_HELP, code, "cmd_Parse returns help indicator with help output");
ok(retopts == NULL, " ... and options is empty");
/* Check splitting with '=' */