aboutsummaryrefslogtreecommitdiff
path: root/paludis/environments/paludis/package_mask_conf.cc
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2008-06-15 14:13:18 +0100
committerAvatar David Leverton <levertond@googlemail.com> 2008-06-15 14:13:18 +0100
commit69673da432788e0eb1492cb905e689361e9989ec (patch)
tree7321169825f4e9efe20d46cc1f69efacef5c6b77 /paludis/environments/paludis/package_mask_conf.cc
parente5cf28cc1179dbeb60964bb512ac12005735d3f3 (diff)
downloadpaludis-69673da432788e0eb1492cb905e689361e9989ec.tar.gz
paludis-69673da432788e0eb1492cb905e689361e9989ec.tar.xz
With disambiguation disabled, don't care whether a set actually exists or not.
Diffstat (limited to 'paludis/environments/paludis/package_mask_conf.cc')
-rw-r--r--paludis/environments/paludis/package_mask_conf.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/paludis/environments/paludis/package_mask_conf.cc b/paludis/environments/paludis/package_mask_conf.cc
index f0cd0a30b..bdd029c05 100644
--- a/paludis/environments/paludis/package_mask_conf.cc
+++ b/paludis/environments/paludis/package_mask_conf.cc
@@ -82,12 +82,16 @@ PackageMaskConf::add(const FSEntry & filename)
for (LineConfigFile::ConstIterator line(f->begin()), line_end(f->end()) ;
line != line_end ; ++line)
{
- if (std::string::npos == line->find("/"))
- _imp->sets.push_back(std::make_pair(SetName(*line), std::tr1::shared_ptr<const SetSpecTree::ConstItem>()));
- else
+ try
+ {
_imp->masks.push_back(std::tr1::shared_ptr<PackageDepSpec>(new PackageDepSpec(parse_user_package_dep_spec(
*line, _imp->env,
- UserPackageDepSpecOptions() + updso_allow_wildcards + updso_no_disambiguation))));
+ UserPackageDepSpecOptions() + updso_allow_wildcards + updso_no_disambiguation + updso_throw_if_set))));
+ }
+ catch (const GotASetNotAPackageDepSpec &)
+ {
+ _imp->sets.push_back(std::make_pair(SetName(*line), std::tr1::shared_ptr<const SetSpecTree::ConstItem>()));
+ }
}
}