summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-04-09 07:05:02 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-04-09 07:05:02 +0300
commit538114978d33f6695227fdc3066e83051a99e615 (patch)
tree65bf94b111cc8203a659bf9ae71c4f8bfc4dd7d0
parent8df2a03d555d4359185344774d20016ec4709308 (diff)
url in uath requests blockint (test)
-rw-r--r--init.cpp4
-rw-r--r--stopspam.cpp9
-rw-r--r--stopspam.rc479
-rw-r--r--utilities.cpp21
-rw-r--r--utilities.h1
5 files changed, 270 insertions, 244 deletions
diff --git a/init.cpp b/init.cpp
index d597eb2..c37d9f6 100644
--- a/init.cpp
+++ b/init.cpp
@@ -50,11 +50,11 @@ UTF8_INTERFACE utfi;
PLUGININFOEX pluginInfoEx = {
sizeof(PLUGININFOEX),
0,
- PLUGIN_MAKE_VERSION(0, 0, 1, 7),
+ PLUGIN_MAKE_VERSION(0, 0, 1, 8),
pluginDescription,
"Roman Miklashevsky",
"sss123next@list.ru",
- "© 2004-2009 Roman Miklashevsky, A. Petkevich, Kosh&chka, sss",
+ "© 2004-2009 Roman Miklashevsky, A. Petkevich, Kosh&chka, sss, Elzor",
"http://sss.chaoslab.ru:81/tracker/mim_plugs/",
UNICODE_AWARE,
0,
diff --git a/stopspam.cpp b/stopspam.cpp
index ede14a6..f029665 100644
--- a/stopspam.cpp
+++ b/stopspam.cpp
@@ -33,6 +33,11 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, wParam, lParam)
{
HANDLE hcntct;
hcntct=*((PHANDLE)(dbei.pBlob+sizeof(DWORD)));
+ DBEVENTGETTEXT egt = {0};
+ egt.datatype = DBVT_TCHAR;
+ egt.dbei = &dbei;
+ TCHAR *EventText = (TCHAR*)CallService(MS_DB_EVENT_GETTEXT, 0, (LPARAM)&egt);
+
// if request is from unknown or not marked Answered contact
@@ -48,7 +53,9 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, wParam, lParam)
DBWriteContactSettingByte(hcntct, "CList", "Hidden", 1);
if(gbSpecialGroup)
DBWriteContactSettingTString(hcntct, "CList", "Group", gbSpammersGroup.c_str());
-
+ if(gbIgnoreURL)
+ if(Stristr(EventText, _T("http")) || Stristr(EventText, _T("www")) || Stristr(EventText, _T(".ru")) || Stristr(EventText, _T(".com")) || Stristr(EventText, _T(".de")) || Stristr(EventText, _T(".cz")) || Stristr(EventText, _T(".org")) || Stristr(EventText, _T(".net")) || Stristr(EventText, _T(".su")))
+ return 1;
BYTE msg = 1;
if(gbInvisDisable)
{
diff --git a/stopspam.rc b/stopspam.rc
index 42879d9..ea92e17 100644
--- a/stopspam.rc
+++ b/stopspam.rc
@@ -1,239 +1,240 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// русский resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_MESSAGES DIALOGEX 0, 0, 302, 225
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_POPUP | WS_SYSMENU
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- LTEXT "Question: (Ctrl-Enter for carriage return)",IDC_STATIC,0,5,156,8
- EDITTEXT ID_QUESTION,0,17,300,57,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL
- PUSHBUTTON "Restore defaults",ID_RESTOREDEFAULTS,234,208,66,14,NOT WS_TABSTOP
- LTEXT "Answer:",IDC_STATIC,0,82,270,8
- EDITTEXT ID_ANSWER,0,94,300,14,ES_AUTOHSCROLL
- LTEXT "Congratulation:",IDC_STATIC,0,112,270,8
- EDITTEXT ID_CONGRATULATION,0,123,300,48,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL
- LTEXT "Auth. request reply:",IDC_STATIC,0,174,270,8
- EDITTEXT ID_AUTHREPL,0,187,300,14,ES_AUTOHSCROLL
- CONTROL "Vars",IDC_VARS,"MButtonClass",WS_TABSTOP,0,206,16,16
-END
-
-IDD_PROTO DIALOGEX 0, 0, 230, 173
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- LTEXT "Avaible accounts:",IDC_STATIC,6,8,84,8
- LISTBOX ID_ALLPROTO,6,20,84,138,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON ">>>>",ID_ADDALL,96,26,36,14
- PUSHBUTTON ">>",ID_ADD,96,44,36,14
- PUSHBUTTON "<<",ID_REMOVE,96,62,36,14
- PUSHBUTTON "<<<<",ID_REMOVEALL,96,80,36,14
- LTEXT "Filtered accounts:",IDC_STATIC,138,8,85,8
- LISTBOX ID_USEDPROTO,138,20,84,138,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
-END
-
-IDD_MAIN DIALOGEX 0, 0, 309, 219
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- EDITTEXT ID_DESCRIPTION,12,7,290,82,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_TABSTOP
- LTEXT "Do not send more than ",IDC_STATIC,11,89,87,12,SS_CENTERIMAGE
- EDITTEXT ID_MAXQUESTCOUNT,107,89,30,12,ES_AUTOHSCROLL | ES_NUMBER
- LTEXT " questions to one contact (0 - for no limit)",IDC_STATIC,144,89,155,12,SS_CENTERIMAGE
- CONTROL "Enable StopSpam-StopSpam infinite talk protection",ID_INFTALKPROT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,106,290,10
- CONTROL "Add contact permanently",ID_ADDPERMANENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,118,290,8
- CONTROL "Enable auth. requests blocking",ID_HANDLEAUTHREQ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,130,290,8
- CONTROL "Hide unanswered contacts and spammers from contact list",ID_HIDECONTACTS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,140,290,10
- CONTROL "Ignore spammers (do not write messages to history)",ID_IGNORESPAMMERS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,151,290,10
-END
-
-IDD_ADVANCED DIALOGEX 0, 0, 309, 219
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- CONTROL "Case insensitive answer checking",IDC_CASE_INSENSITIVE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,54,279,10
- CONTROL "Disable question in invisible mode",IDC_INVIS_DISABLE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,65,287,10
- CONTROL "Enable integration with DOS plugin",ID_DOS_INTEGRATION,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,77,287,8
- CONTROL "Exclude contacts which we sending something from spam check",ID_EXCLUDE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,33,287,8
- CONTROL "Remove Excluded contacts after restart",ID_REMOVE_TMP,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,287,8
- CONTROL "Add contacts to specified group:",ID_SPECIALGROUP,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,16,196,10
- EDITTEXT ID_SPECIALGROUPNAME,217,15,79,12,ES_AUTOHSCROLL
- CONTROL "Ignore URL in messages",ID_IGNOREURL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,88,287,10
- CONTROL "Add contact to server list",IDC_ADDTOSRVLST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,114,187,10
- EDITTEXT IDC_AUTOADDGROUP,210,112,76,14,ES_AUTOHSCROLL
- GROUPBOX "After congratulation (ICQ only)",IDC_STATIC,15,103,278,51
- CONTROL "Automatically grant authorization",IDC_AUTOAUTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,126,263,10
- CONTROL "Request authorization from contacts which pass stopspam test",IDC_REQAUTH,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,138,267,10
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_MESSAGES, DIALOG
- BEGIN
- RIGHTMARGIN, 300
- TOPMARGIN, 7
- BOTTOMMARGIN, 222
- END
-
- IDD_PROTO, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 223
- TOPMARGIN, 7
- BOTTOMMARGIN, 166
- END
-
- IDD_MAIN, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 302
- TOPMARGIN, 7
- BOTTOMMARGIN, 212
- END
-
- IDD_ADVANCED, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 302
- VERTGUIDE, 15
- TOPMARGIN, 7
- BOTTOMMARGIN, 212
- HORZGUIDE, 11
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,0,1,7
- PRODUCTVERSION 0,7,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "000004b0"
- BEGIN
- VALUE "Comments", "Licensed under the terms of the GNU General Public License"
- VALUE "CompanyName", " "
- VALUE "FileDescription", "StopSpam plugin for Miranda IM"
- VALUE "FileVersion", "0.0.1.7"
- VALUE "InternalName", "stopspam"
- VALUE "LegalCopyright", "Copyright © 2000-2009 Miranda IM Project. This software is released under the terms of the GNU General Public License."
- VALUE "OriginalFilename", "stopspam.dll"
- VALUE "ProductName", "StopSpam"
- VALUE "ProductVersion", "0.7.0.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0, 1200
- END
-END
-
-#endif // русский resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// английский (США) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // английский (США) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Russian resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
+#ifdef _WIN32
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+#pragma code_page(1251)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_MESSAGES DIALOGEX 0, 0, 302, 225
+STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_POPUP | WS_SYSMENU
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ LTEXT "Question: (Ctrl-Enter for carriage return)",IDC_STATIC,0,5,156,8
+ EDITTEXT ID_QUESTION,0,17,300,57,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL
+ PUSHBUTTON "Restore defaults",ID_RESTOREDEFAULTS,234,208,66,14,NOT WS_TABSTOP
+ LTEXT "Answer:",IDC_STATIC,0,82,270,8
+ EDITTEXT ID_ANSWER,0,94,300,14,ES_AUTOHSCROLL
+ LTEXT "Congratulation:",IDC_STATIC,0,112,270,8
+ EDITTEXT ID_CONGRATULATION,0,123,300,48,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL
+ LTEXT "Auth. request reply:",IDC_STATIC,0,174,270,8
+ EDITTEXT ID_AUTHREPL,0,187,300,14,ES_AUTOHSCROLL
+ CONTROL "Vars",IDC_VARS,"MButtonClass",WS_TABSTOP,0,206,16,16
+END
+
+IDD_PROTO DIALOGEX 0, 0, 230, 173
+STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ LTEXT "Avaible accounts:",IDC_STATIC,6,8,84,8
+ LISTBOX ID_ALLPROTO,6,20,84,138,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON ">>>>",ID_ADDALL,96,26,36,14
+ PUSHBUTTON ">>",ID_ADD,96,44,36,14
+ PUSHBUTTON "<<",ID_REMOVE,96,62,36,14
+ PUSHBUTTON "<<<<",ID_REMOVEALL,96,80,36,14
+ LTEXT "Filtered accounts:",IDC_STATIC,138,8,85,8
+ LISTBOX ID_USEDPROTO,138,20,84,138,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+END
+
+IDD_MAIN DIALOGEX 0, 0, 309, 219
+STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ EDITTEXT ID_DESCRIPTION,12,7,290,82,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_TABSTOP
+ LTEXT "Do not send more than ",IDC_STATIC,11,89,87,12,SS_CENTERIMAGE
+ EDITTEXT ID_MAXQUESTCOUNT,107,89,30,12,ES_AUTOHSCROLL | ES_NUMBER
+ LTEXT " questions to one contact (0 - for no limit)",IDC_STATIC,144,89,155,12,SS_CENTERIMAGE
+ CONTROL "Enable StopSpam-StopSpam infinite talk protection",ID_INFTALKPROT,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,106,290,10
+ CONTROL "Add contact permanently",ID_ADDPERMANENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,118,290,8
+ CONTROL "Enable auth. requests blocking",ID_HANDLEAUTHREQ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,130,290,8
+ CONTROL "Hide unanswered contacts and spammers from contact list",ID_HIDECONTACTS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,140,290,10
+ CONTROL "Ignore spammers (do not write messages to history)",ID_IGNORESPAMMERS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,151,290,10
+END
+
+IDD_ADVANCED DIALOGEX 0, 0, 309, 219
+STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ CONTROL "Case insensitive answer checking",IDC_CASE_INSENSITIVE,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,54,279,10
+ CONTROL "Disable question in invisible mode",IDC_INVIS_DISABLE,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,65,287,10
+ CONTROL "Enable integration with DOS plugin",ID_DOS_INTEGRATION,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,77,287,8
+ CONTROL "Exclude contacts which we sending something from spam check",ID_EXCLUDE,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,33,287,8
+ CONTROL "Remove Excluded contacts after restart",ID_REMOVE_TMP,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,287,8
+ CONTROL "Add contacts to specified group:",ID_SPECIALGROUP,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,16,196,10
+ EDITTEXT ID_SPECIALGROUPNAME,217,15,79,12,ES_AUTOHSCROLL
+ CONTROL "Ignore URL in messages and auth requests",ID_IGNOREURL,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,88,287,10
+ CONTROL "Add contact to server list",IDC_ADDTOSRVLST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,114,187,10
+ EDITTEXT IDC_AUTOADDGROUP,210,112,76,14,ES_AUTOHSCROLL
+ GROUPBOX "After congratulation (ICQ only)",IDC_STATIC,15,103,278,51
+ CONTROL "Automatically grant authorization",IDC_AUTOAUTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,126,263,10
+ CONTROL "Request authorization from contacts which pass stopspam test",IDC_REQAUTH,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,138,267,10
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_MESSAGES, DIALOG
+ BEGIN
+ RIGHTMARGIN, 300
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 222
+ END
+
+ IDD_PROTO, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 223
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 166
+ END
+
+ IDD_MAIN, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 302
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 212
+ END
+
+ IDD_ADVANCED, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 302
+ VERTGUIDE, 15
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 212
+ HORZGUIDE, 11
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 0,0,1,8
+ PRODUCTVERSION 0,7,0,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "Comments", "Licensed under the terms of the GNU General Public License"
+ VALUE "CompanyName", " "
+ VALUE "FileDescription", "StopSpam plugin for Miranda IM"
+ VALUE "FileVersion", "0.0.1.8"
+ VALUE "InternalName", "stopspam"
+ VALUE "LegalCopyright", "Copyright © 2000-2009 Miranda IM Project. This software is released under the terms of the GNU General Public License."
+ VALUE "OriginalFilename", "stopspam.dll"
+ VALUE "ProductName", "StopSpam"
+ VALUE "ProductVersion", "0.7.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
+
+#endif // Russian resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/utilities.cpp b/utilities.cpp
index 4d3b3cf..bf61929 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -144,12 +144,12 @@ tstring variables_parse(tstring const &tstrFormat, HANDLE hContact){
return tstrFormat;
}
-// case-insensitive _tcsstr
+// case-insensitive _tcscmp
//by nullbie as i remember...
#define NEWTSTR_MALLOC(A) (A==NULL)?NULL:_tcscpy((TCHAR*)mir_alloc(sizeof(TCHAR)*(_tcslen(A)+1)),A)
const int Stricmp(const TCHAR *str, const TCHAR *substr)
{
- int i;
+ int i = 0;
TCHAR *str_up = NEWTSTR_MALLOC(str);
TCHAR *substr_up = NEWTSTR_MALLOC(substr);
@@ -164,3 +164,20 @@ const int Stricmp(const TCHAR *str, const TCHAR *substr)
return i;
}
+const int Stristr(const TCHAR *str, const TCHAR *substr)
+{
+ int i = 0;
+ TCHAR *str_up = NEWTSTR_MALLOC(str);
+ TCHAR *substr_up = NEWTSTR_MALLOC(substr);
+
+ CharUpperBuff(str_up, lstrlen(str_up));
+ CharUpperBuff(substr_up, lstrlen(substr_up));
+
+ if(_tcsstr (str_up, substr_up))
+ i = 1;
+
+ mir_free(str_up);
+ mir_free(substr_up);
+
+ return i;
+}
diff --git a/utilities.h b/utilities.h
index 04866f7..ae57e0d 100644
--- a/utilities.h
+++ b/utilities.h
@@ -6,3 +6,4 @@ bool ProtoInList(std::string proto);
void RemoveExcludedUsers();
tstring variables_parse(tstring const &tstrFormat, HANDLE hContact);
const int Stricmp(const TCHAR *str, const TCHAR *substr);
+const int Stristr(const TCHAR *str, const TCHAR *substr);