From 15bd23ef81adbc57885854d8220a0f777a23fb4a Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 7 Jun 2015 13:26:05 +0000 Subject: ICQ search -> utf8 git-svn-id: http://svn.miranda-ng.org/main/trunk@14050 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/IcqOscarJ/src/fam_15icqserver.cpp | 39 ++++++++++++----------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/protocols/IcqOscarJ/src/fam_15icqserver.cpp b/protocols/IcqOscarJ/src/fam_15icqserver.cpp index 0ca11c39e7..7ecfae6408 100644 --- a/protocols/IcqOscarJ/src/fam_15icqserver.cpp +++ b/protocols/IcqOscarJ/src/fam_15icqserver.cpp @@ -932,16 +932,14 @@ void CIcqProto::parseDirectorySearchData(oscar_tlv_chain *cDetails, DWORD dwCook ICQSEARCHRESULT isr = { 0 }; isr.hdr.cbSize = sizeof(ICQSEARCHRESULT); - isr.hdr.flags = PSR_TCHAR; - isr.hdr.id.t = ansi_to_tchar(szUid); + isr.hdr.flags = PSR_UTF8; + isr.hdr.id.a = szUid; if (IsStringUIN(szUid)) isr.uin = atoi(szUid); else isr.uin = 0; - SAFE_FREE(&szUid); - oscar_tlv *pTLV = cDetails->getTLV(0x50, 1); char *szData = NULL; @@ -949,27 +947,22 @@ void CIcqProto::parseDirectorySearchData(oscar_tlv_chain *cDetails, DWORD dwCook szData = cDetails->getString(0x50, 1); // Verified e-mail else szData = cDetails->getString(0x55, 1); // Pending e-mail - if (mir_strlen(szData)) - isr.hdr.email.t = ansi_to_tchar(szData); - SAFE_FREE(&szData); + if (szData != NULL) + isr.hdr.email.a = szData; szData = cDetails->getString(0x64, 1); // First Name - if (mir_strlen(szData)) - isr.hdr.firstName.t = utf8_to_tchar(szData); - SAFE_FREE(&szData); + if (szData != NULL) + isr.hdr.firstName.a = szData; szData = cDetails->getString(0x6E, 1); // Last Name - if (mir_strlen(szData)) - isr.hdr.lastName.t = utf8_to_tchar(szData); - SAFE_FREE(&szData); + if (szData != NULL) + isr.hdr.lastName.a = szData; szData = cDetails->getString(0x78, 1); // Nick - if (mir_strlen(szData)) - isr.hdr.nick.t = utf8_to_tchar(szData); - SAFE_FREE(&szData); + if (szData != NULL) + isr.hdr.nick.a = szData; - switch (cDetails->getNumber(0x82, 1)) // Gender - { + switch (cDetails->getNumber(0x82, 1)) { // Gender case 1: isr.gender = 'F'; break; @@ -997,11 +990,11 @@ void CIcqProto::parseDirectorySearchData(oscar_tlv_chain *cDetails, DWORD dwCook ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_DATA, (HANDLE)dwCookie, (LPARAM)&isr); // Release memory - SAFE_FREE(&isr.hdr.id.t); - SAFE_FREE(&isr.hdr.nick.t); - SAFE_FREE(&isr.hdr.firstName.t); - SAFE_FREE(&isr.hdr.lastName.t); - SAFE_FREE(&isr.hdr.email.t); + SAFE_FREE(&isr.hdr.id.a); + SAFE_FREE(&isr.hdr.nick.a); + SAFE_FREE(&isr.hdr.firstName.a); + SAFE_FREE(&isr.hdr.lastName.a); + SAFE_FREE(&isr.hdr.email.a); // Search is over, broadcast final ack if (wReplySubType == META_DIRECTORY_RESPONSE) -- cgit v1.2.3