aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-01-06 16:41:06 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-01-06 16:41:06 +0000
commit39717aab4c648eb9e4227c26d574fd99679816c8 (patch)
tree7d9d7293319e9a071c2e5138c196bace46f200a8
parentc1920c00a676fe603f7fe4b5646c6f52b8aa03e9 (diff)
downloadpaludis-39717aab4c648eb9e4227c26d574fd99679816c8.tar.gz
paludis-39717aab4c648eb9e4227c26d574fd99679816c8.tar.xz
Allow * in keywords.conf to accept ebuilds with broken keywords
-rw-r--r--paludis/environment/default/default_environment.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/paludis/environment/default/default_environment.cc b/paludis/environment/default/default_environment.cc
index 8727892..a0679e0 100644
--- a/paludis/environment/default/default_environment.cc
+++ b/paludis/environment/default/default_environment.cc
@@ -378,6 +378,11 @@ DefaultEnvironment::accept_keyword(const KeywordName & keyword, const PackageDat
DefaultConfig::get_instance()->end_default_keywords(),
keyword);
+ result |= DefaultConfig::get_instance()->end_default_keywords() !=
+ std::find(DefaultConfig::get_instance()->begin_default_keywords(),
+ DefaultConfig::get_instance()->end_default_keywords(),
+ KeywordName("*"));
+
if (d)
{
for (DefaultConfig::PackageKeywordsIterator
@@ -391,7 +396,10 @@ DefaultEnvironment::accept_keyword(const KeywordName & keyword, const PackageDat
if (k->second == KeywordName("-*"))
result = false;
else
+ {
result |= k->second == keyword;
+ result |= k->second == KeywordName("*");
+ }
}
for (DefaultConfig::SetKeywordsIterator
@@ -406,7 +414,10 @@ DefaultEnvironment::accept_keyword(const KeywordName & keyword, const PackageDat
if (k->keyword == KeywordName("-*"))
result = false;
else
+ {
result |= k->keyword == keyword;
+ result |= k->keyword == KeywordName("*");
+ }
}
}