Commit 74842fd6 authored by Max Kellermann's avatar Max Kellermann

db/upnp: getprop() returns const char *

Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage.
parent f23b47ba
......@@ -294,24 +294,24 @@ upnpDurationToSeconds(const std::string &duration)
static Song *
upnpItemToSong(const UPnPDirObject &dirent, const char *uri)
{
std::string url(uri);
if (url.empty())
dirent.getprop("url", url);
if (*uri == 0)
uri = dirent.getprop("url");
Song *s = Song::NewFile(url.c_str(), nullptr);
std::string sprop("0:0:0");
dirent.getprop("duration", sprop);
int seconds = upnpDurationToSeconds(sprop);
Song *s = Song::NewFile(uri, nullptr);
TagBuilder tag;
tag.SetTime(seconds);
const char *duration = dirent.getprop("duration");
if (duration != nullptr)
tag.SetTime(upnpDurationToSeconds(duration));
tag.AddItem(TAG_TITLE, titleToPathElt(dirent.m_title).c_str());
for (auto i = upnp_tags; i->name != nullptr; ++i)
if (dirent.getprop(i->name, sprop))
tag.AddItem(i->type, sprop.c_str());
for (auto i = upnp_tags; i->name != nullptr; ++i) {
const char *value = dirent.getprop(i->name);
if (value != nullptr)
tag.AddItem(i->type, value);
}
s->tag = tag.CommitNew();
return s;
......@@ -378,11 +378,11 @@ getTagValue(UPnPDirObject& dirent, TagType tag,
if (name == nullptr)
return false;
std::string propvalue;
dirent.getprop(name, propvalue);
if (propvalue.empty())
const char *value = dirent.getprop(name);
if (value == nullptr)
return false;
tagvalue = propvalue;
tagvalue = value;
return true;
}
......
......@@ -56,13 +56,11 @@ public:
* @param[out] value
* @return true if found.
*/
bool getprop(const std::string &name, std::string &value) const
{
const char *getprop(const char *name) const {
auto it = m_props.find(name);
if (it == m_props.end())
return false;
value = it->second;
return true;
return nullptr;
return it->second.c_str();
}
void clear()
......
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