From 46be94cd275231bb124f2887878d5a78be5abf9a Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 20 May 2021 17:18:15 +0300 Subject: mir_wstrstri - case-insensitive search of substring, Unicode version --- plugins/TabSRMM/src/chat.h | 1 - plugins/TabSRMM/src/chat_manager.cpp | 4 ++-- plugins/TabSRMM/src/chat_tools.cpp | 22 ++++------------------ 3 files changed, 6 insertions(+), 21 deletions(-) (limited to 'plugins/TabSRMM/src') diff --git a/plugins/TabSRMM/src/chat.h b/plugins/TabSRMM/src/chat.h index 2c9e762908..c083973fa7 100644 --- a/plugins/TabSRMM/src/chat.h +++ b/plugins/TabSRMM/src/chat.h @@ -113,7 +113,6 @@ int UM_CompareItem(const USERINFO *u1, const USERINFO *u2); // tools.c BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight, int bManyFix); -wchar_t* my_strstri(const wchar_t* s1, const wchar_t* s2); bool IsHighlighted(SESSION_INFO *si, GCEVENT *pszText); char GetIndicator(SESSION_INFO *si, LPCTSTR ptszNick, int *iNickIndex); void Chat_SetFilters(SESSION_INFO *si); diff --git a/plugins/TabSRMM/src/chat_manager.cpp b/plugins/TabSRMM/src/chat_manager.cpp index e42a13e2b7..ff8db52d88 100644 --- a/plugins/TabSRMM/src/chat_manager.cpp +++ b/plugins/TabSRMM/src/chat_manager.cpp @@ -100,7 +100,7 @@ SESSION_INFO* SM_FindSessionByHCONTACT(MCONTACT h) SESSION_INFO* SM_FindSessionAutoComplete(const char* pszModule, SESSION_INFO* currSession, SESSION_INFO* prevSession, const wchar_t* pszOriginal, const wchar_t* pszCurrent) { - if (prevSession == nullptr && my_strstri(currSession->ptszName, pszOriginal) == currSession->ptszName) + if (prevSession == nullptr && mir_wstrstri(currSession->ptszName, pszOriginal) == currSession->ptszName) return currSession; wchar_t *pszName = nullptr; @@ -110,7 +110,7 @@ SESSION_INFO* SM_FindSessionAutoComplete(const char* pszModule, SESSION_INFO* cu SESSION_INFO *pResult = nullptr; for (auto &si : g_chatApi.arSessions) if (si != currSession && !mir_strcmpi(pszModule, si->pszModule)) - if (my_strstri(si->ptszName, pszOriginal) == si->ptszName) + if (mir_wstrstri(si->ptszName, pszOriginal) == si->ptszName) if (prevSession != si && mir_wstrcmpi(si->ptszName, pszCurrent) > 0 && (!pszName || mir_wstrcmpi(si->ptszName, pszName) < 0)) { pResult = si; pszName = si->ptszName; diff --git a/plugins/TabSRMM/src/chat_tools.cpp b/plugins/TabSRMM/src/chat_tools.cpp index a10947d45f..eec305efc6 100644 --- a/plugins/TabSRMM/src/chat_tools.cpp +++ b/plugins/TabSRMM/src/chat_tools.cpp @@ -147,10 +147,8 @@ BOOL DoPopup(SESSION_INFO *si, GCEVENT *gce) if (nen_options.iMUCDisable) // no popups at all. Period return 0; - /* - * check the status mode against the status mask - */ + // check the status mode against the status mask char *szProto = dat ? dat->m_szProto : si->pszModule; if (nen_options.dwStatusMask != -1) { if (szProto != nullptr) { @@ -362,22 +360,10 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight return true; } -wchar_t* my_strstri(const wchar_t* s1, const wchar_t* s2) -{ - int i, j, k; - - for (i = 0; s1[i]; i++) - for (j = i, k = 0; towlower(s1[j]) == towlower(s2[k]); j++, k++) - if (!s2[k + 1]) - return (wchar_t*)(s1 + i); - - return nullptr; -} +///////////////////////////////////////////////////////////////////////////////////////// +// set all filters and notification config for a session +// uses per channel mask + filterbits, default config as backup -/* - * set all filters and notification config for a session - * uses per channel mask + filterbits, default config as backup - */ void Chat_SetFilters(SESSION_INFO *si) { DWORD dwFlags_default = db_get_dw(0, CHAT_MODULE, "FilterFlags", GC_EVENT_ALL); -- cgit v1.2.3