aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-01-30 16:46:39 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2017-01-30 21:52:44 -0800
commit4252d9436e6d4104f6acc5560aef461046aae853 (patch)
treef4652be76a454f0348d98b5d08e1b542b8487d8a /toolsrc/src
parent86a5ab7bccce5988682e69c4e1c14fedbf9a13a7 (diff)
downloadvcpkg-4252d9436e6d4104f6acc5560aef461046aae853.tar.gz
vcpkg-4252d9436e6d4104f6acc5560aef461046aae853.zip
remove_plan now depends on the spec, instead of StatusParagraph
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/commands_remove.cpp6
-rw-r--r--toolsrc/src/vcpkg_Dependencies.cpp4
2 files changed, 6 insertions, 4 deletions
diff --git a/toolsrc/src/commands_remove.cpp b/toolsrc/src/commands_remove.cpp
index b09790efc..5a9467b47 100644
--- a/toolsrc/src/commands_remove.cpp
+++ b/toolsrc/src/commands_remove.cpp
@@ -28,8 +28,10 @@ namespace vcpkg::Commands::Remove
}
}
- static void remove_package(const vcpkg_paths& paths, StatusParagraph& pkg)
+ static void remove_package(const vcpkg_paths& paths, const package_spec& spec, StatusParagraphs* status_db)
{
+ StatusParagraph& pkg = **status_db->find(spec.name(), spec.target_triplet());
+
pkg.want = want_t::purge;
pkg.state = install_state_t::half_installed;
write_update(paths, pkg);
@@ -202,7 +204,7 @@ namespace vcpkg::Commands::Remove
{
const std::string display_name = action.spec.display_name();
System::println("Removing package %s... ", display_name);
- remove_package(paths, *action.plan.status_pgh);
+ remove_package(paths, action.spec, &status_db);
System::println(System::color::success, "Removing package %s... done", display_name);
if (alsoRemoveFolderFromPackages)
diff --git a/toolsrc/src/vcpkg_Dependencies.cpp b/toolsrc/src/vcpkg_Dependencies.cpp
index bb2ecc666..a534537d2 100644
--- a/toolsrc/src/vcpkg_Dependencies.cpp
+++ b/toolsrc/src/vcpkg_Dependencies.cpp
@@ -93,7 +93,7 @@ namespace vcpkg::Dependencies
const StatusParagraphs::const_iterator it = status_db.find(spec);
if (it == status_db.end() || (*it)->state == install_state_t::not_installed)
{
- was_examined.emplace(spec, remove_plan_action{remove_plan_type::NOT_INSTALLED, request_type::USER_REQUESTED, nullptr});
+ was_examined.emplace(spec, remove_plan_action{remove_plan_type::NOT_INSTALLED, request_type::USER_REQUESTED});
continue;
}
@@ -115,7 +115,7 @@ namespace vcpkg::Dependencies
}
const request_type request_type = specs_as_set.find(spec) != specs_as_set.end() ? request_type::USER_REQUESTED : request_type::AUTO_SELECTED;
- was_examined.emplace(spec, remove_plan_action{remove_plan_type::REMOVE, request_type,it->get()});
+ was_examined.emplace(spec, remove_plan_action{remove_plan_type::REMOVE});
}
std::vector<package_spec_with_remove_plan> ret;