summaryrefslogtreecommitdiff
path: root/tools/makeparallel/makeparallel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/makeparallel/makeparallel.cpp')
-rw-r--r--tools/makeparallel/makeparallel.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/makeparallel/makeparallel.cpp b/tools/makeparallel/makeparallel.cpp
index 7dd0ceb2ad..576fe8df8f 100644
--- a/tools/makeparallel/makeparallel.cpp
+++ b/tools/makeparallel/makeparallel.cpp
@@ -298,8 +298,12 @@ int main(int argc, char* argv[]) {
argc--;
}
+ if (argc < 2) {
+ error(EXIT_FAILURE, 0, "expected command to run");
+ }
+
const char* path = argv[1];
- std::vector<char*> args(&argv[1], &argv[argc]);
+ std::vector<char*> args({argv[1]});
std::vector<std::string> makeflags = ReadMakeflags();
if (ParseMakeflags(makeflags, &in_fd, &out_fd, &parallel, &keep_going)) {
@@ -328,6 +332,8 @@ int main(int argc, char* argv[]) {
args.push_back(strdup(jarg.c_str()));
}
+ args.insert(args.end(), &argv[2], &argv[argc]);
+
args.push_back(nullptr);
pid_t pid = fork();