diff options
Diffstat (limited to 'toolsrc')
| -rw-r--r-- | toolsrc/include/vcpkg_Dependencies.h | 1 | ||||
| -rw-r--r-- | toolsrc/src/commands_remove.cpp | 6 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg_Dependencies.cpp | 4 |
3 files changed, 6 insertions, 5 deletions
diff --git a/toolsrc/include/vcpkg_Dependencies.h b/toolsrc/include/vcpkg_Dependencies.h index 2595d9fb8..ba84d1bd1 100644 --- a/toolsrc/include/vcpkg_Dependencies.h +++ b/toolsrc/include/vcpkg_Dependencies.h @@ -43,7 +43,6 @@ namespace vcpkg::Dependencies { remove_plan_type plan_type; request_type request_type; - StatusParagraph* status_pgh; }; struct package_spec_with_remove_plan 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; |
