aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-11-11 21:45:37 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-11-11 21:45:37 -0800
commite4d38bb874fe47317e1dd4128c013af882408bbf (patch)
tree25b3f85191b921c09bb6a30eb8da88b0f5457baf /toolsrc/src
parentec2bbaec849dd1e1e6d76a0573148ca04053bf5c (diff)
downloadvcpkg-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.cpp10
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)