summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorakim.demaille <akim.demaille@01de4be4-8c4a-0410-9132-4925637da917>2009-01-09 08:54:50 +0000
committerakim.demaille <akim.demaille@01de4be4-8c4a-0410-9132-4925637da917>2009-01-09 08:54:50 +0000
commit9e07324255e778e395b7d11b015ea1cdd8579ff1 (patch)
tree746e89625274e4f020e9e052592af602edf43507 /src
parent99978771fc2442ff3ad9c00cb93844e51ef3e4ba (diff)
downloaddistcc-9e07324255e778e395b7d11b015ea1cdd8579ff1.tar.gz
"distcc --scan-includes" dumps core.
* src/distcc.c (main): Don't dump --help on the user on command line error, rather, return the `Try --help' message on stderr. Check that --scan-includes is given arguments. git-svn-id: http://distcc.googlecode.com/svn/trunk@645 01de4be4-8c4a-0410-9132-4925637da917
Diffstat (limited to 'src')
-rw-r--r--src/distcc.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/distcc.c b/src/distcc.c
index 6d90f36..4c22fba 100644
--- a/src/distcc.c
+++ b/src/distcc.c
@@ -221,11 +221,21 @@ int main(int argc, char **argv)
if (strstr(compiler_name, "distcc") != NULL) {
/* Either "distcc -c hello.c" or "distcc gcc -c hello.c" */
- if (argc <= 1 || !strcmp(argv[1], "--help")) {
+ if (argc <= 1) {
+ fprintf (stderr,
+ "%s: missing option/operand\n"
+ "Try `%s --help' for more information.\n",
+ argv[0], argv[0]);
+ ret = EXIT_BAD_ARGUMENTS;
+ goto out;
+ }
+
+ if (!strcmp(argv[1], "--help")) {
dcc_show_usage();
ret = 0;
goto out;
}
+
if (!strcmp(argv[1], "--version")) {
dcc_show_version("distcc");
ret = 0;
@@ -245,6 +255,14 @@ int main(int argc, char **argv)
}
if (!strcmp(argv[1], "--scan-includes")) {
+ if (argc <= 2) {
+ fprintf (stderr,
+ "%s: missing operand\n"
+ "Try `%s --help' for more information.\n",
+ argv[0], argv[0]);
+ ret = EXIT_BAD_ARGUMENTS;
+ goto out;
+ }
dcc_scan_includes = 1;
argv++;
}