From be0759d4651126c0695c7ff83e1f2a9feca7ec4e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 18 Jan 2014 14:24:38 +0100 Subject: db/upnp/Discovery: don't copy XML to std::string Pass "const char *" to Expat. --- src/db/upnp/Device.cxx | 4 ++-- src/db/upnp/Device.hxx | 2 +- src/db/upnp/Discovery.hxx | 2 +- 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; -- cgit v1.2.3