diff options
Diffstat (limited to 'tools/makeparallel/makeparallel.cpp')
| -rw-r--r-- | tools/makeparallel/makeparallel.cpp | 8 |
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, ¶llel, &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(); |