aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-04-12 16:19:52 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-04-12 22:05:03 -0700
commit88e0246c771d5910fc23849a451510159b85aca7 (patch)
tree7c865e7edf299772aab621df33b9a54041755162
parent5afcd0afe0484ecb646e4c17f0d38814eba34065 (diff)
downloadvcpkg-88e0246c771d5910fc23849a451510159b85aca7.tar.gz
vcpkg-88e0246c771d5910fc23849a451510159b85aca7.zip
Improve create_remove_plan (still using Graph)
-rw-r--r--toolsrc/src/vcpkg_Dependencies.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/toolsrc/src/vcpkg_Dependencies.cpp b/toolsrc/src/vcpkg_Dependencies.cpp
index 6e22c8b82..b714abdae 100644
--- a/toolsrc/src/vcpkg_Dependencies.cpp
+++ b/toolsrc/src/vcpkg_Dependencies.cpp
@@ -190,10 +190,9 @@ namespace vcpkg::Dependencies
continue;
}
- for (const std::unique_ptr<StatusParagraph>& an_installed_package : status_db)
+ const std::vector<StatusParagraph*> installed_ports = get_installed_ports(status_db);
+ for (const StatusParagraph* an_installed_package : installed_ports)
{
- if (an_installed_package->want != Want::INSTALL)
- continue;
if (an_installed_package->package.spec.triplet() != spec.triplet())
continue;
@@ -203,8 +202,8 @@ namespace vcpkg::Dependencies
continue;
}
- graph.add_edge(spec, an_installed_package.get()->package.spec);
- examine_stack.push_back(an_installed_package.get()->package.spec);
+ graph.add_edge(spec, an_installed_package->package.spec);
+ examine_stack.push_back(an_installed_package->package.spec);
}
const RequestType request_type = specs_as_set.find(spec) != specs_as_set.end() ? RequestType::USER_REQUESTED : RequestType::AUTO_SELECTED;