diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-01-22 23:40:41 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-01-22 23:40:41 -0800 |
| commit | 0682bb734d5f8667d5aa1a8c2448d69fc042c53f (patch) | |
| tree | b0ec950f6dd036fcca4343651a13398319b54694 /toolsrc/src | |
| parent | 77eae92e75c4b0d15c14c1f19c93fb41bc60f25e (diff) | |
| download | vcpkg-0682bb734d5f8667d5aa1a8c2448d69fc042c53f.tar.gz vcpkg-0682bb734d5f8667d5aa1a8c2448d69fc042c53f.zip | |
[vcpkg] Store Optional<&> instead of Optional<*>
Diffstat (limited to 'toolsrc/src')
| -rw-r--r-- | toolsrc/src/tests.plan.cpp | 3 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/dependencies.cpp | 6 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/install.cpp | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp index 593003b80..0916e66c8 100644 --- a/toolsrc/src/tests.plan.cpp +++ b/toolsrc/src/tests.plan.cpp @@ -41,8 +41,7 @@ namespace UnitTest1 Assert::AreEqual(plan.spec.triplet().to_string().c_str(), triplet.to_string().c_str()); - Assert::AreEqual(pkg_name.c_str(), - (*plan.any_paragraph.source_control_file.get())->core_paragraph->name.c_str()); + Assert::AreEqual(pkg_name.c_str(), plan.any_paragraph.source_control_file.get()->core_paragraph->name.c_str()); Assert::AreEqual(size_t(vec.size()), feature_list.size()); for (auto&& feature_name : vec) diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 76aeb0eaa..e48d85885 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -117,7 +117,7 @@ namespace vcpkg::Dependencies return PackageSpec::from_dependencies_of_port(p->core_paragraph.spec.name(), deps, triplet); } - if (const auto p = this->source_control_file.value_or(nullptr)) + if (const auto p = this->source_control_file.get()) { return PackageSpec::from_dependencies_of_port( p->core_paragraph->name, filter_dependencies(p->core_paragraph->depends, triplet), triplet); @@ -159,7 +159,7 @@ namespace vcpkg::Dependencies const RequestType& request_type) : spec(spec), plan_type(InstallPlanType::BUILD_AND_INSTALL), request_type(request_type), feature_list(features) { - this->any_paragraph.source_control_file = &any_paragraph; + this->any_paragraph.source_control_file = any_paragraph; } InstallPlanAction::InstallPlanAction(const PackageSpec& spec, @@ -418,7 +418,7 @@ namespace vcpkg::Dependencies return ExportPlanAction{spec, AnyParagraph{nullopt, std::move(*bcf), nullopt}, request_type}; auto maybe_scf = provider.get_control_file(spec.name()); - if (auto scf = maybe_scf.get()) return ExportPlanAction{spec, {nullopt, nullopt, scf}, request_type}; + if (auto scf = maybe_scf.get()) return ExportPlanAction{spec, {nullopt, nullopt, *scf}, request_type}; Checks::exit_with_message(VCPKG_LINE_INFO, "Could not find package %s", spec); } diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index d6a28d57c..3ecb627f5 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -293,7 +293,7 @@ namespace vcpkg::Install auto result = [&]() -> Build::ExtendedBuildResult { const Build::BuildPackageConfig build_config{ - *action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO), + action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO), action.spec.triplet(), paths.port_dir(action.spec), action.build_options, |
