replace loop with find_if

loop is wrong anyway. It's missing a break;

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2021-08-20 16:08:58 -07:00
parent bedcf1cce5
commit 0f7a0b04ca

View File

@ -258,12 +258,8 @@ ContentDirectoryService::getMetadata(UpnpClient_Handle hdl,
if (code != UPNP_E_SUCCESS)
throw FormatRuntimeError("UpnpSendAction() failed: %s",
UpnpGetErrorMessage(code));
const char *p = "";
for (const auto &entry : responseData) {
if (entry.first == "Result") {
p = entry.second.c_str();
}
}
auto it = std::find_if(responseData.begin(), responseData.end(), [](auto&& entry){ return entry.first == "Result"; });
const char *p = it != responseData.end() ? it->second.c_str() : "";
UPnPDirContent dirbuf;
dirbuf.Parse(p);
return dirbuf;