summaryrefslogtreecommitdiff
path: root/utilities.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-10-22 00:39:05 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-10-22 00:39:05 +0300
commitfea62665b2057d0be6bdffbb04e986d3b1792da4 (patch)
treeedcf95d3efe1f7366116392c7fa06710cb8402fe /utilities.cpp
parentac0ead8e1e00e2628373954b4a2e5f6d9d8986ad (diff)
modified: messages.cpp
modified: utilities.cpp
Diffstat (limited to 'utilities.cpp')
-rw-r--r--utilities.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/utilities.cpp b/utilities.cpp
index 5bba190..e857d5d 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -933,15 +933,9 @@ string toUTF8(wstring str)
wstring toUTF16(string str) //convert as much as possible
{
- string::iterator end_it = utf8::find_invalid(str.begin(), str.end());
- int length = utf8::distance(str.begin(), end_it);
wstring ustr;
- utf8::utf8to16(str.begin(), end_it, back_inserter(ustr));
- string tmp;
- while(end_it != str.end())
- str += *end_it;
- TCHAR *tmp2 = mir_a2t(tmp.c_str());
- ustr += tmp2;
- mir_free(tmp2);
+ string tmpstr;
+ utf8::replace_invalid(str.begin(), str.end(), back_inserter(tmpstr));
+ utf8::utf8to16(tmpstr.begin(), tmpstr.end(), back_inserter(ustr));
return ustr;
} \ No newline at end of file