1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-27 20:36:18 +00:00

Enhance handling of command line errors, and "--help" & "--version"

Return with exit code 0 ("no error") when "--help" or "--version" was
used (this resulted in exit code 1, "error" before).

And exit with code 2 ("command line error") for all invalid command
line options, and show the error message on stderr (message was printed
to stdout before, and exit code was 1, "generic error").

This new behaviour is more in line with the GNU "coding standards",
see <https://www.gnu.org/prep/standards/html_node/_002d_002dhelp.html>.
This commit is contained in:
Alexander Barton 2019-12-31 16:34:23 +01:00
parent fb5aa8f652
commit 22cae1b5fc

View File

@ -125,7 +125,7 @@ main(int argc, const char *argv[])
if (strcmp(argv[i], "--help") == 0) {
Show_Version();
puts(""); Show_Help( ); puts( "" );
exit(1);
exit(0);
}
if (strcmp(argv[i], "--nodaemon") == 0) {
NGIRCd_NoDaemon = true;
@ -143,7 +143,7 @@ main(int argc, const char *argv[])
#endif
if (strcmp(argv[i], "--version") == 0) {
Show_Version();
exit(1);
exit(0);
}
}
else if(argv[i][0] == '-' && argv[i][1] != '-') {
@ -200,21 +200,23 @@ main(int argc, const char *argv[])
}
if (!ok) {
printf("%s: invalid option \"-%c\"!\n",
fprintf(stderr,
"%s: invalid option \"-%c\"!\n",
PACKAGE_NAME, argv[i][n]);
printf("Try \"%s --help\" for more information.\n",
fprintf(stderr,
"Try \"%s --help\" for more information.\n",
PACKAGE_NAME);
exit(1);
exit(2);
}
}
}
if (!ok) {
printf("%s: invalid option \"%s\"!\n",
fprintf(stderr, "%s: invalid option \"%s\"!\n",
PACKAGE_NAME, argv[i]);
printf("Try \"%s --help\" for more information.\n",
fprintf(stderr, "Try \"%s --help\" for more information.\n",
PACKAGE_NAME);
exit(1);
exit(2);
}
}