From 9224bc017d4b8af56e8c14b1aebc06cda507629d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Fri, 31 Jan 2014 13:17:17 +0000 Subject: Facebook: small cleanup of special_expressions_decode git-svn-id: http://svn.miranda-ng.org/main/trunk@7972 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/FacebookRM/src/utils.cpp | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) (limited to 'protocols') diff --git a/protocols/FacebookRM/src/utils.cpp b/protocols/FacebookRM/src/utils.cpp index d3f5d4680e..81a0826239 100644 --- a/protocols/FacebookRM/src/utils.cpp +++ b/protocols/FacebookRM/src/utils.cpp @@ -182,7 +182,6 @@ std::string utils::text::special_expressions_decode(std::string data) { if (data.at(i) == '&' && (i+1) < data.length() && data.at(i+1) == '#') { - unsigned int udn; std::string::size_type comma = data.find(";", i); if (comma != std::string::npos) { bool hexa = false; @@ -192,30 +191,16 @@ std::string utils::text::special_expressions_decode(std::string data) } else { i += 2; } - udn = strtol(data.substr(i, comma-i).c_str(), NULL, hexa ? 16 : 10); + + std::string num = data.substr(i, comma - i); + if (!num.empty()) { + unsigned int udn = strtol(num.c_str(), NULL, hexa ? 16 : 10); + utils::text::append_ordinal(udn, &new_string); + } + i = comma; + continue; } - - utils::text::append_ordinal(udn, &new_string); - continue; - } - - if (data.at(i) == -19 && (i+2) < data.length()) { - std::string chs = data.substr(i, i+2).c_str(); - unsigned char a[4] = {0}; - memcpy(&a[1], chs.c_str(), 3); - - new_string += "\\u"; - utils::text::append_ordinal((unsigned long)a, &new_string); - - /*u = reinterpret_cast(data.at(i+1)); - utils::text::append_ordinal(u, &new_string); - - u = reinterpret_cast(data.at(i+2)); - utils::text::append_ordinal(u, &new_string);*/ - - i += 2; - continue; } new_string += data.at(i); @@ -380,7 +365,7 @@ void utils::text::explode(std::string str, std::string separator, std::vectorfind(term); if (start != std::string::npos) { -- cgit v1.2.3