aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-01-18 14:24:38 +0100
committerMax Kellermann <max@duempel.org>2014-01-18 14:24:38 +0100
commitbe0759d4651126c0695c7ff83e1f2a9feca7ec4e (patch)
tree14d37ebaa48631d3f29aca5a86b2e49db13e55a6
parent339d939873f4dfcb11c9ab7737118f50218dfc96 (diff)
downloadmpd-be0759d4651126c0695c7ff83e1f2a9feca7ec4e.tar.gz
mpd-be0759d4651126c0695c7ff83e1f2a9feca7ec4e.tar.xz
mpd-be0759d4651126c0695c7ff83e1f2a9feca7ec4e.zip
db/upnp/Discovery: don't copy XML to std::string
Pass "const char *" to Expat.
-rw-r--r--src/db/upnp/Device.cxx4
-rw-r--r--src/db/upnp/Device.hxx2
-rw-r--r--src/db/upnp/Discovery.hxx2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/db/upnp/Device.cxx b/src/db/upnp/Device.cxx
index 609f2cbfc..b5174236b 100644
--- a/src/db/upnp/Device.cxx
+++ b/src/db/upnp/Device.cxx
@@ -99,12 +99,12 @@ protected:
}
};
-UPnPDevice::UPnPDevice(const std::string &url, const std::string &description)
+UPnPDevice::UPnPDevice(const std::string &url, const char *description)
:ok(false)
{
UPnPDeviceParser mparser(*this);
Error error;
- if (!mparser.Parse(description.data(), description.length(), true,
+ if (!mparser.Parse(description, strlen(description), true,
error)) {
// TODO: pass Error to caller
LogError(error);
diff --git a/src/db/upnp/Device.hxx b/src/db/upnp/Device.hxx
index 9cccc9bbc..78b9820f9 100644
--- a/src/db/upnp/Device.hxx
+++ b/src/db/upnp/Device.hxx
@@ -82,7 +82,7 @@ public:
* @param url where the description came from
* @param description the xml device description
*/
- UPnPDevice(const std::string &url, const std::string &description);
+ UPnPDevice(const std::string &url, const char *description);
UPnPDevice() : ok(false) {}
};
diff --git a/src/db/upnp/Discovery.hxx b/src/db/upnp/Discovery.hxx
index 9e362c96f..0ac731329 100644
--- a/src/db/upnp/Discovery.hxx
+++ b/src/db/upnp/Discovery.hxx
@@ -66,7 +66,7 @@ class UPnPDeviceDirectory {
class ContentDirectoryDescriptor {
public:
ContentDirectoryDescriptor(const std::string &url,
- const std::string &description,
+ const char *description,
time_t last, int exp)
:device(url, description), last_seen(last), expires(exp+20) {}
UPnPDevice device;