aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-17 22:47:13 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-17 22:47:13 +0100
commit06edded18b26bc8d604a0a3f18e71b303a31748a (patch)
treef6e2d53b5b37f01038252cdb5ad285a7398979a6
parent6643fc956c40883558ed4f83de8417dadbe24d1d (diff)
downloadpaludis-06edded18b26bc8d604a0a3f18e71b303a31748a.tar.gz
paludis-06edded18b26bc8d604a0a3f18e71b303a31748a.tar.xz
cave resolve !virtual
Fixes: ticket:844
-rw-r--r--paludis/resolver/decider.cc5
-rw-r--r--paludis/resolver/spec_rewriter.cc2
2 files changed, 2 insertions, 5 deletions
diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc
index 22756ca..e6649cd 100644
--- a/paludis/resolver/decider.cc
+++ b/paludis/resolver/decider.cc
@@ -1718,10 +1718,7 @@ Decider::add_target_with_reason(const PackageOrBlockDepSpec & spec, const std::t
{
for (Sequence<PackageOrBlockDepSpec>::ConstIterator i(if_rewritten->specs()->begin()), i_end(if_rewritten->specs()->end()) ;
i != i_end ; ++i)
- if (i->if_package())
- add_target_with_reason(*i->if_package(), reason);
- else
- throw InternalError(PALUDIS_HERE, "resolver bug: rewritten " + stringify(spec) + " includes " + stringify(*i));
+ add_target_with_reason(*i, reason);
}
else
{
diff --git a/paludis/resolver/spec_rewriter.cc b/paludis/resolver/spec_rewriter.cc
index 56be505..e82a58f 100644
--- a/paludis/resolver/spec_rewriter.cc
+++ b/paludis/resolver/spec_rewriter.cc
@@ -140,7 +140,7 @@ SpecRewriter::rewrite_if_special(const PackageOrBlockDepSpec & s, const std::tr1
continue;
PackageDepSpec spec(PartiallyMadePackageDepSpec(s.if_block()->blocking()).package(*n));
- std::string prefix(s.if_block()->blocking().text());
+ std::string prefix(s.if_block()->text());
std::string::size_type p(prefix.find_first_not_of('!'));
if (std::string::npos != p)
prefix.erase(p);