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/Scriver/scriver.vcxproj | 1 - plugins/Scriver/scriver.vcxproj.filters | 3 --- plugins/Scriver/src/chat.h | 3 --- plugins/Scriver/src/chat_manager.cpp | 4 ++-- plugins/Scriver/src/chat_tools.cpp | 32 -------------------------------- plugins/TabSRMM/src/chat.h | 1 - plugins/TabSRMM/src/chat_manager.cpp | 4 ++-- plugins/TabSRMM/src/chat_tools.cpp | 22 ++++------------------ 8 files changed, 8 insertions(+), 62 deletions(-) delete mode 100644 plugins/Scriver/src/chat_tools.cpp (limited to 'plugins') diff --git a/plugins/Scriver/scriver.vcxproj b/plugins/Scriver/scriver.vcxproj index eb7cb200ad..a92315853a 100644 --- a/plugins/Scriver/scriver.vcxproj +++ b/plugins/Scriver/scriver.vcxproj @@ -29,7 +29,6 @@ - diff --git a/plugins/Scriver/scriver.vcxproj.filters b/plugins/Scriver/scriver.vcxproj.filters index a2e706e0b8..ffe211f657 100644 --- a/plugins/Scriver/scriver.vcxproj.filters +++ b/plugins/Scriver/scriver.vcxproj.filters @@ -11,9 +11,6 @@ Source Files - - Source Files - Source Files diff --git a/plugins/Scriver/src/chat.h b/plugins/Scriver/src/chat.h index 777409a828..71227293df 100644 --- a/plugins/Scriver/src/chat.h +++ b/plugins/Scriver/src/chat.h @@ -73,9 +73,6 @@ void FreeMsgLogBitmaps(void); SESSION_INFO* SM_FindSessionAutoComplete(const char *pszModule, SESSION_INFO *currSession, SESSION_INFO *prevSession, const wchar_t *pszOriginal, const wchar_t *pszCurrent); char SM_GetStatusIndicator(SESSION_INFO *si, USERINFO *ui); -// tools.c -const wchar_t* my_strstri(const wchar_t *s1, const wchar_t *s2); - ///////////////////////////////////////////////////////////////////////////////////////// #define DEFLOGFILENAME L"%miranda_logpath%\\%proto%\\%userid%.log" diff --git a/plugins/Scriver/src/chat_manager.cpp b/plugins/Scriver/src/chat_manager.cpp index 16a1710f07..c4f3efa815 100644 --- a/plugins/Scriver/src/chat_manager.cpp +++ b/plugins/Scriver/src/chat_manager.cpp @@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. SESSION_INFO* SM_FindSessionAutoComplete(const char *pszModule, SESSION_INFO *currSession, SESSION_INFO *prevSession, const wchar_t *pszOriginal, const wchar_t *pszCurrent) { SESSION_INFO *pResult = nullptr; - if (prevSession == nullptr && my_strstri(currSession->ptszName, pszOriginal) == currSession->ptszName) + if (prevSession == nullptr && mir_wstrstri(currSession->ptszName, pszOriginal) == currSession->ptszName) pResult = currSession; else { wchar_t *pszName = nullptr; @@ -33,7 +33,7 @@ SESSION_INFO* SM_FindSessionAutoComplete(const char *pszModule, SESSION_INFO *cu 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/Scriver/src/chat_tools.cpp b/plugins/Scriver/src/chat_tools.cpp deleted file mode 100644 index c31cc839b2..0000000000 --- a/plugins/Scriver/src/chat_tools.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -Chat module plugin for Miranda IM - -Copyright (C) 2003 Jörgen Persson -Copyright 2003-2009 Miranda ICQ/IM project, - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "stdafx.h" - -const wchar_t* my_strstri(const wchar_t *s1, const wchar_t *s2) -{ - for (int i = 0; s1[i]; i++) - for (int j = i, k = 0; towlower(s1[j]) == towlower(s2[k]); j++, k++) - if (!s2[k + 1]) - return s1 + i; - - return nullptr; -} 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