From 35c6f6ccbb11f24a1385c5296a0f2b32c0b90dc9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 23 Jan 2017 18:52:14 +0300 Subject: no need to implement the same code in each plugin --- protocols/JabberG/src/jabber_chat.cpp | 4 ++-- protocols/JabberG/src/jabber_misc.cpp | 15 --------------- protocols/JabberG/src/stdafx.h | 4 ---- protocols/MSN/src/msn_chat.cpp | 2 +- protocols/MSN/src/msn_libstr.cpp | 12 ------------ protocols/MSN/src/stdafx.h | 1 - protocols/SkypeWeb/src/skype_chatrooms.cpp | 14 +------------- protocols/VKontakte/src/vk_chats.cpp | 14 +------------- 8 files changed, 5 insertions(+), 61 deletions(-) (limited to 'protocols') diff --git a/protocols/JabberG/src/jabber_chat.cpp b/protocols/JabberG/src/jabber_chat.cpp index bc5d850268..6cb09aabc2 100644 --- a/protocols/JabberG/src/jabber_chat.cpp +++ b/protocols/JabberG/src/jabber_chat.cpp @@ -1002,7 +1002,7 @@ static void sttNickListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* mir_snwprintf(buf, L"%s%s%s", szMessage, him->m_tszResourceName, p + 2); } else mir_wstrncpy(buf, szMessage, _countof(buf)); - UnEscapeChatTags(buf); + Chat_UnescapeTags(buf); ppro->m_ThreadInfo->send( XmlNode(L"message") << XATTR(L"to", item->jid) << XATTR(L"type", L"groupchat") @@ -1385,7 +1385,7 @@ int CJabberProto::JabberGcEventHook(WPARAM, LPARAM lParam) int64_t id = (_time64(0) << 16) + (GetTickCount() & 0xFFFF); wchar_t *buf = NEWWSTR_ALLOCA(gch->ptszText); - UnEscapeChatTags(buf); + Chat_UnescapeTags(buf); m_ThreadInfo->send( XmlNode(L"message") << XATTR(L"id", _i64tot(id, tszID, 36)) << XATTR(L"to", item->jid) << XATTR(L"type", L"groupchat") << XCHILD(L"body", buf)); diff --git a/protocols/JabberG/src/jabber_misc.cpp b/protocols/JabberG/src/jabber_misc.cpp index ee64e3c348..4950875dd3 100644 --- a/protocols/JabberG/src/jabber_misc.cpp +++ b/protocols/JabberG/src/jabber_misc.cpp @@ -240,21 +240,6 @@ void CJabberProto::SetServerStatus(int iNewStatus) ProtoBroadcastAck(NULL, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)oldStatus, m_iStatus); } -// Process a string, and double all % characters, according to chat.dll's restrictions -// Returns a pointer to the new string (old one is not freed) - -wchar_t* UnEscapeChatTags(wchar_t* str_in) -{ - wchar_t *s = str_in, *d = str_in; - while (*s) { - if (*s == '%' && s[1] == '%') - s++; - *d++ = *s++; - } - *d = 0; - return str_in; -} - ////////////////////////////////////////////////////////////////////////// // update MirVer with data for active resource diff --git a/protocols/JabberG/src/stdafx.h b/protocols/JabberG/src/stdafx.h index df2533fbfc..e3e320f2c9 100644 --- a/protocols/JabberG/src/stdafx.h +++ b/protocols/JabberG/src/stdafx.h @@ -666,10 +666,6 @@ void g_MenuInit(); void g_MenuUninit(); int g_OnToolbarInit(WPARAM, LPARAM); -//---- jabber_misc.c ------------------------------------------------ - -wchar_t* UnEscapeChatTags(wchar_t* str_in); - //---- jabber_adhoc.cpp --------------------------------------------- struct CJabberAdhocStartupParams diff --git a/protocols/MSN/src/msn_chat.cpp b/protocols/MSN/src/msn_chat.cpp index 0f5551f253..605577750c 100644 --- a/protocols/MSN/src/msn_chat.cpp +++ b/protocols/MSN/src/msn_chat.cpp @@ -480,7 +480,7 @@ int CMsnProto::MSN_GCEventHook(WPARAM, LPARAM lParam) if (gch->ptszText && gch->ptszText[0]) { GCThreadData* thread = MSN_GetThreadByChatId(gch->pDest->ptszID); if (thread) { - wchar_t* pszMsg = UnEscapeChatTags(NEWWSTR_ALLOCA(gch->ptszText)); + wchar_t* pszMsg = Chat_UnescapeTags(NEWWSTR_ALLOCA(gch->ptszText)); rtrimw(pszMsg); // remove the ending linebreak msnNsThread->sendMessage('N', thread->szEmail, thread->netId, UTF8(pszMsg), 0); diff --git a/protocols/MSN/src/msn_libstr.cpp b/protocols/MSN/src/msn_libstr.cpp index 5e5d834067..7f543bc1b7 100644 --- a/protocols/MSN/src/msn_libstr.cpp +++ b/protocols/MSN/src/msn_libstr.cpp @@ -322,18 +322,6 @@ wchar_t* EscapeChatTags(const wchar_t* pszText) return pszNewText; } -wchar_t* UnEscapeChatTags(wchar_t* str_in) -{ - wchar_t *s = str_in, *d = str_in; - while (*s) { - if ((*s == '%' && s[1] == '%') || (*s == '\n' && s[1] == '\n')) - s++; - *d++ = *s++; - } - *d = 0; - return str_in; -} - #pragma comment(lib, "Rpcrt4.lib") char* getNewUuid(void) diff --git a/protocols/MSN/src/stdafx.h b/protocols/MSN/src/stdafx.h index e0ea208c9c..633b842f78 100644 --- a/protocols/MSN/src/stdafx.h +++ b/protocols/MSN/src/stdafx.h @@ -240,7 +240,6 @@ time_t IsoToUnixTime(const char *stamp); time_t MsnTSToUnixtime(const char *pszTS); wchar_t* EscapeChatTags(const wchar_t* pszText); -wchar_t* UnEscapeChatTags(wchar_t* str_in); void overrideStr(wchar_t*& dest, const wchar_t* src, bool unicode, const wchar_t* def = NULL); diff --git a/protocols/SkypeWeb/src/skype_chatrooms.cpp b/protocols/SkypeWeb/src/skype_chatrooms.cpp index 55d810ab86..30f566e0fc 100644 --- a/protocols/SkypeWeb/src/skype_chatrooms.cpp +++ b/protocols/SkypeWeb/src/skype_chatrooms.cpp @@ -402,18 +402,6 @@ void CSkypeProto::OnChatEvent(const JSONNode &node) } } -wchar_t* UnEscapeChatTags(wchar_t* str_in) -{ - wchar_t *s = str_in, *d = str_in; - while (*s) { - if (*s == '%' && s[1] == '%') - s++; - *d++ = *s++; - } - *d = 0; - return str_in; -} - void CSkypeProto::OnSendChatMessage(const wchar_t *chat_id, const wchar_t * tszMessage) { if (!IsOnline()) @@ -421,7 +409,7 @@ void CSkypeProto::OnSendChatMessage(const wchar_t *chat_id, const wchar_t * tszM wchar_t *buf = NEWWSTR_ALLOCA(tszMessage); rtrimw(buf); - UnEscapeChatTags(buf); + Chat_UnescapeTags(buf); ptrA szChatId(mir_u2a(chat_id)); ptrA szMessage(mir_utf8encodeW(buf)); diff --git a/protocols/VKontakte/src/vk_chats.cpp b/protocols/VKontakte/src/vk_chats.cpp index 0de83aaa15..39cd7f2704 100644 --- a/protocols/VKontakte/src/vk_chats.cpp +++ b/protocols/VKontakte/src/vk_chats.cpp @@ -453,18 +453,6 @@ void CVkProto::SetChatStatus(MCONTACT hContact, int iStatus) ///////////////////////////////////////////////////////////////////////////////////////// -wchar_t* UnEscapeChatTags(wchar_t *str_in) -{ - wchar_t *s = str_in, *d = str_in; - while (*s) { - if (*s == '%' && s[1] == '%') - s++; - *d++ = *s++; - } - *d = 0; - return str_in; -} - int CVkProto::OnChatEvent(WPARAM, LPARAM lParam) { GCHOOK *gch = (GCHOOK*)lParam; @@ -483,7 +471,7 @@ int CVkProto::OnChatEvent(WPARAM, LPARAM lParam) if (IsOnline() && mir_wstrlen(gch->ptszText) > 0) { ptrW pwszBuf(mir_wstrdup(gch->ptszText)); rtrimw(pwszBuf); - UnEscapeChatTags(pwszBuf); + Chat_UnescapeTags(pwszBuf); SendMsg(cc->m_hContact, 0, T2Utf(pwszBuf)); } break; -- cgit v1.2.3