diff options
author | Max Kellermann <max@duempel.org> | 2014-01-22 20:24:55 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-01-22 20:24:55 +0100 |
commit | 02f2171010accc1e9473e2a12a51d79782ee0f52 (patch) | |
tree | b35f530de3bc5674721c4e30f2e39500aa2d3f16 /src/db/upnp/Util.cxx | |
parent | a5e7d0a90fc13ee4b81128483931ccc3bf65d84c (diff) | |
download | mpd-02f2171010accc1e9473e2a12a51d79782ee0f52.tar.gz mpd-02f2171010accc1e9473e2a12a51d79782ee0f52.tar.xz mpd-02f2171010accc1e9473e2a12a51d79782ee0f52.zip |
db/upnp/Util: pass char* to csvToStrings()
Diffstat (limited to 'src/db/upnp/Util.cxx')
-rw-r--r-- | src/db/upnp/Util.cxx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/db/upnp/Util.cxx b/src/db/upnp/Util.cxx index ddc54bbe0..df731f94d 100644 --- a/src/db/upnp/Util.cxx +++ b/src/db/upnp/Util.cxx @@ -139,14 +139,17 @@ stringToTokens(const std::string &str, template <class T> bool -csvToStrings(const std::string &s, T &tokens) +csvToStrings(const char *s, T &tokens) { std::string current; tokens.clear(); enum states {TOKEN, ESCAPE}; states state = TOKEN; - for (unsigned int i = 0; i < s.length(); i++) { - switch (s[i]) { + + while (*s != 0) { + const char ch = *s++; + + switch (ch) { case ',': switch(state) { case TOKEN: @@ -179,7 +182,7 @@ csvToStrings(const std::string &s, T &tokens) case TOKEN: break; } - current += s[i]; + current += ch; } } switch(state) { @@ -193,5 +196,5 @@ csvToStrings(const std::string &s, T &tokens) } //template bool csvToStrings<list<string> >(const string &, list<string> &); -template bool csvToStrings<std::vector<std::string> >(const std::string &, std::vector<std::string> &); -template bool csvToStrings<std::set<std::string> >(const std::string &, std::set<std::string> &); +template bool csvToStrings<std::vector<std::string> >(const char *, std::vector<std::string> &); +template bool csvToStrings<std::set<std::string> >(const char *, std::set<std::string> &); |