From 74842fd6d4d1cd35c7e80935e42d9b010751be49 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 10 Jan 2014 20:13:17 +0100 Subject: 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. --- src/db/UpnpDatabasePlugin.cxx | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/db/UpnpDatabasePlugin.cxx') diff --git a/src/db/UpnpDatabasePlugin.cxx b/src/db/UpnpDatabasePlugin.cxx index 69248aadf..809557de4 100644 --- a/src/db/UpnpDatabasePlugin.cxx +++ b/src/db/UpnpDatabasePlugin.cxx @@ -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; } -- cgit v1.2.3