aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-02-07 00:52:40 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-02-07 00:52:40 -0500
commitba55487612416b71f22520c87dba477405535a08 (patch)
tree334c5b8561cf983f35f7d66e7c8d625abdfe9c20 /src
parent06e042b1bde161e763b98fa457738cbff4f7e181 (diff)
downloadspmc-ba55487612416b71f22520c87dba477405535a08.tar.gz
Fix segfault when --install had no arguments
Diffstat (limited to 'src')
-rw-r--r--src/spm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/spm.c b/src/spm.c
index 8cf3dd2..82e5d71 100644
--- a/src/spm.c
+++ b/src/spm.c
@@ -21,6 +21,7 @@ void usage(const char *program_name) {
" -r, --root installation prefix (requires --install)\n"
" -L, --list list available packages\n"
" -S, --search search for a package\n"
+ " --cmd execute an internal spm command\n"
, program_name);
}
@@ -114,13 +115,14 @@ int main(int argc, char *argv[], char *arge[]) {
for (int p = 0; i < argc; p++) {
i++;
if (startswith(argv[i], "-") == 0 || startswith(argv[i], "--") == 0) {
- if (!p) {
- fprintf(stderr, "-I|--install requires at least one package (got: '%s')\n", argv[i]);
- exit(1);
- }
i--;
break;
}
+ if ((argc - i) == 0) {
+ fprintf(stderr, "-I|--install requires at least one package\n");
+ usage(program_name);
+ exit(1);
+ }
strlist_append(packages, argv[i]);
}
}