Fix handling of expression installables with a / in them

This commit is contained in:
Eelco Dolstra 2017-07-04 15:38:23 +02:00
parent c0015e87af
commit ad8b96f1f2
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -189,7 +189,10 @@ std::vector<std::shared_ptr<Installable>> InstallablesCommand::parseInstallables
for (auto & s : ss) { for (auto & s : ss) {
if (s.find("/") != std::string::npos) { if (s.compare(0, 1, "(") == 0)
result.push_back(std::make_shared<InstallableExpr>(*this, s));
else if (s.find("/") != std::string::npos) {
auto path = store->toStorePath(store->followLinksToStore(s)); auto path = store->toStorePath(store->followLinksToStore(s));
@ -201,9 +204,6 @@ std::vector<std::shared_ptr<Installable>> InstallablesCommand::parseInstallables
} }
} }
else if (s.compare(0, 1, "(") == 0)
result.push_back(std::make_shared<InstallableExpr>(*this, s));
else if (s == "" || std::regex_match(s, attrPathRegex)) else if (s == "" || std::regex_match(s, attrPathRegex))
result.push_back(std::make_shared<InstallableAttrPath>(*this, s)); result.push_back(std::make_shared<InstallableAttrPath>(*this, s));