Commit 0c2485e8 authored by Max Kellermann's avatar Max Kellermann

db/upnp: use getServer() in Visit()

Reduce bloat.
parent 7d696a70
...@@ -678,12 +678,12 @@ UpnpDatabase::Visit(const DatabaseSelection &selection, ...@@ -678,12 +678,12 @@ UpnpDatabase::Visit(const DatabaseSelection &selection,
VisitPlaylist visit_playlist, VisitPlaylist visit_playlist,
Error &error) const Error &error) const
{ {
std::vector<ContentDirectoryService> servers;
if (!m_superdir->getDirServices(servers, error))
return false;
auto vpath = stringToTokens(selection.uri, "/", true); auto vpath = stringToTokens(selection.uri, "/", true);
if (vpath.empty()) { if (vpath.empty()) {
std::vector<ContentDirectoryService> servers;
if (!m_superdir->getDirServices(servers, error))
return false;
if (!selection.recursive) { if (!selection.recursive) {
// If the path is empty and recursive is not set, synthetize a // If the path is empty and recursive is not set, synthetize a
// pseudo-directory from the list of servers. // pseudo-directory from the list of servers.
...@@ -709,19 +709,11 @@ UpnpDatabase::Visit(const DatabaseSelection &selection, ...@@ -709,19 +709,11 @@ UpnpDatabase::Visit(const DatabaseSelection &selection,
std::string servername(vpath[0]); std::string servername(vpath[0]);
vpath.erase(vpath.begin()); vpath.erase(vpath.begin());
ContentDirectoryService *server = 0; ContentDirectoryService server;
for (auto& dir : servers) { if (!m_superdir->getServer(servername.c_str(), server, error))
if (!servername.compare(dir.getFriendlyName())) { return false;
server = &dir;
break; return VisitServer(server, vpath, selection,
}
}
if (server == 0) {
FormatDebug(db_domain, "UpnpDatabase::Visit: server %s not found\n",
vpath[0].c_str());
return true;
}
return VisitServer(*server, vpath, selection,
visit_directory, visit_song, visit_playlist, error); visit_directory, visit_song, visit_playlist, error);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment