summaryrefslogtreecommitdiff
path: root/utilities.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-11-30 20:05:12 +0200
committerGluzskiy Alexandr <sss123next@list.ru>2010-11-30 20:05:12 +0200
commitd16c6a6d264b91d545e4baa24b2d9efd06ec0260 (patch)
tree86cf152cd85e7241197812554ee4f7e211b4292f /utilities.cpp
parent46f48e58a81256148f74e5d753c708dd1ff3d563 (diff)
parentb9278adb04c824b47da7ac0ec7c1c8ef5931c888 (diff)
Merge branch 'new_gpg' into new_gpg_autoexchange
Diffstat (limited to 'utilities.cpp')
-rw-r--r--utilities.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/utilities.cpp b/utilities.cpp
index 4f594cb..b462a23 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -438,7 +438,7 @@ void HistoryLog(HANDLE hContact, char *data, int event_type, int flags)
Event.cbSize = sizeof(Event);
Event.szModule = szGPGModuleName;
Event.eventType = event_type;
- Event.flags = flags, DBEF_UTF;
+ Event.flags = flags;
Event.timestamp = (DWORD)time(NULL);
Event.cbBlob = strlen(data)+1;
Event.pBlob = (PBYTE)_strdup(data);
@@ -934,10 +934,22 @@ int returnNoError(HANDLE hContact) {
string toUTF8(wstring str)
{
string ustr;
- utf8::utf16to8(str.begin(), str.end(), back_inserter(ustr));
+ wstring tmpstr;
+ utf8::replace_invalid(str.begin(), str.end(), back_inserter(tmpstr));
+ utf8::utf16to8(tmpstr.begin(), tmpstr.end(), back_inserter(ustr));
+ return ustr;
+}
+
+string toUTF8(string str)
+{
+ string ustr;
+ wstring tmpstr;
+ utf8::replace_invalid(str.begin(), str.end(), back_inserter(tmpstr));
+ utf8::utf16to8(tmpstr.begin(), tmpstr.end(), back_inserter(ustr));
return ustr;
}
+
wstring toUTF16(string str) //convert as much as possible
{
wstring ustr;