diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-11-11 21:45:37 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-11-11 21:45:37 -0800 |
| commit | e4d38bb874fe47317e1dd4128c013af882408bbf (patch) | |
| tree | 25b3f85191b921c09bb6a30eb8da88b0f5457baf /toolsrc/src | |
| parent | ec2bbaec849dd1e1e6d76a0573148ca04053bf5c (diff) | |
| download | vcpkg-e4d38bb874fe47317e1dd4128c013af882408bbf.tar.gz vcpkg-e4d38bb874fe47317e1dd4128c013af882408bbf.zip | |
[vcpkg-ci] Fix crash when not passed --exclude.
Added Util::Maps::maybe_find.
Added Optional<T&>.
Diffstat (limited to 'toolsrc/src')
| -rw-r--r-- | toolsrc/src/vcpkg/commands.ci.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index dce294004..ee25f272a 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -75,8 +75,14 @@ namespace vcpkg::Commands::CI void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet) { const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); - const std::vector<std::string> exclusions = Strings::split(options.settings.at(OPTION_EXCLUDE), ","); - const std::set<std::string> exclusions_set(exclusions.cbegin(), exclusions.cend()); + + std::set<std::string> exclusions_set; + auto maybe_exclusions = Util::Maps::maybe_find(options.settings, OPTION_EXCLUDE); + if (auto p_exclusions = maybe_exclusions.get()) + { + auto exclusions = Strings::split(*p_exclusions, ","); + exclusions_set.insert(exclusions.begin(), exclusions.end()); + } std::vector<Triplet> triplets; for (const std::string& triplet : args.command_arguments) |
