diff options
Diffstat (limited to 'plugins/Spamotron')
-rw-r--r-- | plugins/Spamotron/src/bayes.cpp | 14 | ||||
-rw-r--r-- | plugins/Spamotron/src/options.cpp | 76 | ||||
-rw-r--r-- | plugins/Spamotron/src/popups.cpp | 12 | ||||
-rw-r--r-- | plugins/Spamotron/src/spamotron.cpp | 26 | ||||
-rw-r--r-- | plugins/Spamotron/src/stdafx.h | 42 | ||||
-rw-r--r-- | plugins/Spamotron/src/utils.cpp | 120 |
6 files changed, 145 insertions, 145 deletions
diff --git a/plugins/Spamotron/src/bayes.cpp b/plugins/Spamotron/src/bayes.cpp index d6d582a59b..aa377760a7 100644 --- a/plugins/Spamotron/src/bayes.cpp +++ b/plugins/Spamotron/src/bayes.cpp @@ -177,7 +177,7 @@ int get_token_score(int type, char *token) return score;
}
-double get_msg_score(TCHAR *msg)
+double get_msg_score(wchar_t *msg)
{
char *message, *token;
double spam_prob, ham_prob, tmp1 = 1, tmp2 = 1;
@@ -220,7 +220,7 @@ double get_msg_score(TCHAR *msg) return tmp1 / (tmp1 + tmp2);
}
-void queue_message(MCONTACT hContact, DWORD msgtime, TCHAR *message)
+void queue_message(MCONTACT hContact, DWORD msgtime, wchar_t *message)
{
char *tmp;
sqlite3_stmt *stmt;
@@ -247,7 +247,7 @@ void queue_message(MCONTACT hContact, DWORD msgtime, TCHAR *message) void bayes_approve_contact(MCONTACT hContact)
{
const char *message;
- TCHAR *messageW;
+ wchar_t *messageW;
int d = 0;
sqlite3_stmt *stmt;
@@ -279,7 +279,7 @@ void dequeue_messages() time_t t = time(NULL);
sqlite3_stmt *stmt;
const char *message;
- TCHAR *messageW;
+ wchar_t *messageW;
int d = 0;
if (bayesdb == NULL)
@@ -306,7 +306,7 @@ void dequeue_messages() }
/* Learn one message as either SPAM or HAM as specified in type parameter */
-void learn(int type, TCHAR *msg)
+void learn(int type, wchar_t *msg)
{
char *tok, *message;
BYTE digest[16];
@@ -375,12 +375,12 @@ void learn(int type, TCHAR *msg) mir_free(message);
}
-void learn_ham(TCHAR *msg)
+void learn_ham(wchar_t *msg)
{
learn(0, msg);
}
-void learn_spam(TCHAR *msg)
+void learn_spam(wchar_t *msg)
{
learn(1, msg);
}
\ No newline at end of file diff --git a/plugins/Spamotron/src/options.cpp b/plugins/Spamotron/src/options.cpp index 5bf7c8a4d6..7f20587abc 100644 --- a/plugins/Spamotron/src/options.cpp +++ b/plugins/Spamotron/src/options.cpp @@ -1,31 +1,31 @@ #include "stdafx.h"
-TCHAR currentResponse[256] = {0};
+wchar_t currentResponse[256] = {0};
-TCHAR* _getCOptS(TCHAR *buf, unsigned int buflen, MCONTACT hContact, const char* option, const TCHAR *def)
+wchar_t* _getCOptS(wchar_t *buf, unsigned int buflen, MCONTACT hContact, const char* option, const wchar_t *def)
{
DBVARIANT dbv = {0};
_tcsnset(buf, 0, buflen);
if (db_get_ts(hContact, PLUGIN_NAME, option, &dbv) != 0)
- _tcsncpy(buf, def, min(buflen, mir_tstrlen(def)+1));
+ wcsncpy(buf, def, min(buflen, mir_tstrlen(def)+1));
else if (dbv.type == DBVT_TCHAR) {
- _tcsncpy(buf, dbv.ptszVal, min(buflen, mir_tstrlen(dbv.ptszVal)+1));
+ wcsncpy(buf, dbv.ptszVal, min(buflen, mir_tstrlen(dbv.ptszVal)+1));
}
db_free(&dbv);
return buf;
}
-TCHAR* _getMOptS(TCHAR *buf, unsigned int buflen, const char* module, const char* option, const TCHAR *def)
+wchar_t* _getMOptS(wchar_t *buf, unsigned int buflen, const char* module, const char* option, const wchar_t *def)
{
- TCHAR* tmp;
+ wchar_t* tmp;
DBVARIANT dbv = {0};
_tcsnset(buf, 0, buflen);
if (db_get_s(NULL, module, option, &dbv) != 0)
- _tcsncpy(buf, def, min(buflen, mir_tstrlen(def)+1));
+ wcsncpy(buf, def, min(buflen, mir_tstrlen(def)+1));
else if (dbv.type == DBVT_TCHAR) {
- _tcsncpy(buf, dbv.ptszVal, min(buflen, mir_tstrlen(dbv.ptszVal)+1));
+ wcsncpy(buf, dbv.ptszVal, min(buflen, mir_tstrlen(dbv.ptszVal)+1));
} else {
tmp = mir_a2u(dbv.pszVal);
- _tcsncpy(buf, tmp, min(buflen, mir_tstrlen(tmp)+1));
+ wcsncpy(buf, tmp, min(buflen, mir_tstrlen(tmp)+1));
mir_free(tmp);
}
db_free(&dbv);
@@ -36,9 +36,9 @@ TCHAR* _getMOptS(TCHAR *buf, unsigned int buflen, const char* module, const char BOOL _saveDlgItemText(HWND hDialog, int controlID, char* option)
{
int len;
- TCHAR *tmp;
+ wchar_t *tmp;
len = GetWindowTextLength(GetDlgItem(hDialog, controlID));
- tmp = (TCHAR *)malloc((len + 1)*sizeof(TCHAR));
+ tmp = (wchar_t *)malloc((len + 1)*sizeof(wchar_t));
GetDlgItemText(hDialog, controlID, tmp, len + 1);
_setOptTS(option, tmp);
free(tmp);
@@ -49,9 +49,9 @@ int _saveDlgItemResponse(HWND hDialog, int controlID, char* option) int ret = 0;
int isRegex = 0;
int len;
- TCHAR *tmp;
+ wchar_t *tmp;
len = GetWindowTextLength(GetDlgItem(hDialog, controlID));
- tmp = (TCHAR*)malloc((len+1)*sizeof(TCHAR));
+ tmp = (wchar_t*)malloc((len+1)*sizeof(wchar_t));
GetDlgItemText(hDialog, controlID, tmp, len+1);
isRegex = _isregex(tmp);
if (!isRegex)
@@ -68,20 +68,20 @@ int _saveDlgItemResponse(HWND hDialog, int controlID, char* option) BOOL _saveDlgItemInt(HWND hDialog, int controlID, char* option)
{
int len;
- TCHAR *tmp;
+ wchar_t *tmp;
len = GetWindowTextLength(GetDlgItem(hDialog, controlID));
- tmp = (TCHAR *)malloc((len + 1)*sizeof(TCHAR));
+ tmp = (wchar_t *)malloc((len + 1)*sizeof(wchar_t));
GetDlgItemText(hDialog, controlID, tmp, len + 1);
- _setOptD(option, _ttoi(tmp));
+ _setOptD(option, _wtoi(tmp));
free(tmp);
return TRUE;
}
BOOL _saveDlgItemScore(HWND hDialog, int controlID, char* option)
{
int len;
- TCHAR *tmp;
+ wchar_t *tmp;
len = GetWindowTextLength(GetDlgItem(hDialog, controlID));
- tmp = (TCHAR *)malloc((len + 1)*sizeof(TCHAR));
+ tmp = (wchar_t *)malloc((len + 1)*sizeof(wchar_t));
GetDlgItemText(hDialog, controlID, tmp, len + 1);
_setOptD(option, _tcstod(tmp, NULL)/SCORE_C);
return TRUE;
@@ -93,12 +93,12 @@ INT_PTR CALLBACK DlgProcOptionsMain(HWND optDlg, UINT msg, WPARAM wParam, LPARAM {
static int bInitializing = 0, i, j, numProtocols;
PROTOACCOUNT **pd;
- TCHAR pName[256] = {0};
+ wchar_t pName[256] = {0};
char protoOption[256] = {0};
HWND hProtocolsList = GetDlgItem(optDlg, IDC_OPT_PROTOCOLS);
LVITEM lvi = {0};
LVCOLUMN lvc = {0};
- TCHAR buf[512];
+ wchar_t buf[512];
switch (msg) {
case WM_INITDIALOG:
@@ -115,8 +115,8 @@ INT_PTR CALLBACK DlgProcOptionsMain(HWND optDlg, UINT msg, WPARAM wParam, LPARAM CheckDlgButton(optDlg, IDC_OPT_LOG_ACTIONS, _getOptB("LogActions", defaultLogActions) ? BST_CHECKED : BST_UNCHECKED);
SetDlgItemText(optDlg, IDC_OPT_IN_MSG_APPROVE_WORDLIST, _getOptS(buf, _countof(buf), "ApproveOnMsgInWordlist", defaultApproveOnMsgInWordlist));
- SetDlgItemText(optDlg, IDC_OPT_MAX_MSG_CONTACT, _itot((unsigned int)_getOptD("MaxMsgContactCountPerDay", defaultMaxMsgContactCountPerDay), buf, 10));
- SetDlgItemText(optDlg, IDC_OPT_MAX_SAME_MSG, _itot((unsigned int)_getOptD("MaxSameMsgCountPerDay", defaultMaxSameMsgCountPerDay), buf, 10));
+ SetDlgItemText(optDlg, IDC_OPT_MAX_MSG_CONTACT, _itow((unsigned int)_getOptD("MaxMsgContactCountPerDay", defaultMaxMsgContactCountPerDay), buf, 10));
+ SetDlgItemText(optDlg, IDC_OPT_MAX_SAME_MSG, _itow((unsigned int)_getOptD("MaxSameMsgCountPerDay", defaultMaxSameMsgCountPerDay), buf, 10));
SetDlgItemText(optDlg, IDC_OPT_DONT_REPLY_MSG_WORDLIST, _getOptS(buf, _countof(buf), "DontReplyMsgWordlist", defaultDontReplyMsgWordlist));
///Individual protocols list
@@ -129,7 +129,7 @@ INT_PTR CALLBACK DlgProcOptionsMain(HWND optDlg, UINT msg, WPARAM wParam, LPARAM for (i = 0, j = 0; i < numProtocols; i++)
{
lvi.iItem = i;
- _getMOptS(pName, 200*sizeof(TCHAR), pd[i]->szModuleName, "AM_BaseProto", L"");
+ _getMOptS(pName, 200*sizeof(wchar_t), pd[i]->szModuleName, "AM_BaseProto", L"");
if (mir_tstrcmp(pName, L"ICQ") != 0)
continue;
lvi.pszText = mir_a2u(pd[i]->szModuleName);
@@ -217,7 +217,7 @@ INT_PTR CALLBACK DlgProcOptionsQuestion(HWND optDlg, UINT msg, WPARAM wParam, LP static int bInitializing = 0;
int i, selectedMode;
HWND ht;
- TCHAR *buf;
+ wchar_t *buf;
unsigned int buflen = 500;
switch (msg) {
@@ -243,7 +243,7 @@ INT_PTR CALLBACK DlgProcOptionsQuestion(HWND optDlg, UINT msg, WPARAM wParam, LP }
}
SetDlgItemText(optDlg, IDC_OPT_MATH_RESPONSE, TranslateT("Will be automatically evaluated from %mathexpr%"));
- buf = (TCHAR *)malloc(buflen*sizeof(TCHAR));
+ buf = (wchar_t *)malloc(buflen*sizeof(wchar_t));
switch (selectedMode) {
case SPAMOTRON_MODE_PLAIN:
case SPAMOTRON_MODE_ROTATE:
@@ -289,7 +289,7 @@ INT_PTR CALLBACK DlgProcOptionsQuestion(HWND optDlg, UINT msg, WPARAM wParam, LP return FALSE;
i = SendDlgItemMessage(optDlg, IDC_OPT_MODE, CB_GETCURSEL, 0, 0);
selectedMode = SendDlgItemMessage(optDlg, IDC_OPT_MODE, CB_GETITEMDATA, i, 0);
- buf = (TCHAR*)malloc(buflen*sizeof(TCHAR));
+ buf = (wchar_t*)malloc(buflen*sizeof(wchar_t));
switch (selectedMode) {
case SPAMOTRON_MODE_PLAIN:
case SPAMOTRON_MODE_ROTATE:
@@ -418,8 +418,8 @@ INT_PTR CALLBACK DlgProcOptionsBayes(HWND optDlg, UINT msg, WPARAM wParam, LPARA {
static int bInitializing = 0, len;
BOOL bEnabled;
- TCHAR *dbuf;
- TCHAR buf[MAX_BUFFER_LENGTH];
+ wchar_t *dbuf;
+ wchar_t buf[MAX_BUFFER_LENGTH];
char cbuf[MAX_BUFFER_LENGTH];
switch (msg) {
case WM_INITDIALOG:
@@ -482,7 +482,7 @@ INT_PTR CALLBACK DlgProcOptionsBayes(HWND optDlg, UINT msg, WPARAM wParam, LPARA case IDC_OPT_BAYES_HAM:
// Learn ham from learnbox
len = GetWindowTextLength(GetDlgItem(optDlg, IDC_OPT_BAYES_LEARNBOX))+1;
- dbuf = (TCHAR *)malloc(len*sizeof(TCHAR));
+ dbuf = (wchar_t *)malloc(len*sizeof(wchar_t));
if (!dbuf)
return FALSE;
GetDlgItemText(optDlg, IDC_OPT_BAYES_LEARNBOX, dbuf, len);
@@ -499,7 +499,7 @@ INT_PTR CALLBACK DlgProcOptionsBayes(HWND optDlg, UINT msg, WPARAM wParam, LPARA case IDC_OPT_BAYES_SPAM:
// Learn spam from learnbox
len = GetWindowTextLength(GetDlgItem(optDlg, IDC_OPT_BAYES_LEARNBOX))+1;
- dbuf = (TCHAR *)malloc(len*sizeof(TCHAR));
+ dbuf = (wchar_t *)malloc(len*sizeof(wchar_t));
if (!dbuf)
return FALSE;
GetDlgItemText(optDlg, IDC_OPT_BAYES_LEARNBOX, dbuf, len);
@@ -515,7 +515,7 @@ INT_PTR CALLBACK DlgProcOptionsBayes(HWND optDlg, UINT msg, WPARAM wParam, LPARA case IDC_CHECK_MSG:
len = GetWindowTextLength(GetDlgItem(optDlg, IDC_OPT_BAYES_LEARNBOX))+1;
- dbuf = (TCHAR *)malloc((len)*sizeof(TCHAR));
+ dbuf = (wchar_t *)malloc((len)*sizeof(wchar_t));
if (!dbuf)
return FALSE;
GetDlgItemText(optDlg, IDC_OPT_BAYES_LEARNBOX, dbuf, len);
@@ -556,21 +556,21 @@ int OnOptInitialize(WPARAM wParam, LPARAM) {
OPTIONSDIALOGPAGE odp = { 0 };
odp.hInstance = hInst;
- odp.ptszGroup = LPGENT("Message sessions");
- odp.ptszTitle = _T(PLUGIN_NAME);
+ odp.pwszGroup = LPGENW("Message sessions");
+ odp.pwszTitle = _T(PLUGIN_NAME);
odp.flags = ODPF_TCHAR | ODPF_BOLDGROUPS;
- odp.ptszTab = LPGENT("Settings");
+ odp.pwszTab = LPGENW("Settings");
odp.pszTemplate = MAKEINTRESOURCEA(IDD_SPAMOTRON_MAIN);
odp.pfnDlgProc = DlgProcOptionsMain;
Options_AddPage(wParam, &odp);
- odp.ptszTab = LPGENT("Messages");
+ odp.pwszTab = LPGENW("Messages");
odp.pszTemplate = MAKEINTRESOURCEA(IDD_SPAMOTRON_Q);
odp.pfnDlgProc = DlgProcOptionsQuestion;
Options_AddPage(wParam, &odp);
- odp.ptszTab = LPGENT("Bayes");
+ odp.pwszTab = LPGENW("Bayes");
odp.pszTemplate = MAKEINTRESOURCEA(IDD_SPAMOTRON_BAYES);
odp.pfnDlgProc = DlgProcOptionsBayes;
Options_AddPage(wParam, &odp);
@@ -578,8 +578,8 @@ int OnOptInitialize(WPARAM wParam, LPARAM) if (ServiceExists(MS_POPUP_ADDPOPUPT)) {
odp.pszTemplate = MAKEINTRESOURCEA(IDD_SPAMOTRON_POPUPS);
odp.pfnDlgProc = DlgProcOptionsPopups;
- odp.ptszGroup = LPGENT("Popups");
- odp.ptszTab = NULL;
+ odp.pwszGroup = LPGENW("Popups");
+ odp.pwszTab = NULL;
Options_AddPage(wParam, &odp);
}
return 0;
diff --git a/plugins/Spamotron/src/popups.cpp b/plugins/Spamotron/src/popups.cpp index 46289ac9af..0d81268d04 100644 --- a/plugins/Spamotron/src/popups.cpp +++ b/plugins/Spamotron/src/popups.cpp @@ -143,7 +143,7 @@ INT_PTR CALLBACK DlgProcOptionsPopups(HWND optDlg, UINT msg, WPARAM wParam, LPAR return FALSE;
}
-int ShowPopupPreview(HWND optDlg, BYTE popupType, TCHAR *line1, TCHAR *line2)
+int ShowPopupPreview(HWND optDlg, BYTE popupType, wchar_t *line1, wchar_t *line2)
{
POPUPDATAT ppdp = {0};
switch (popupType)
@@ -185,14 +185,14 @@ int ShowPopupPreview(HWND optDlg, BYTE popupType, TCHAR *line1, TCHAR *line2) ppdp.iSeconds = 0;
ppdp.lchContact = NULL;
- _tcsncpy_s(ppdp.lptzContactName, (line1 ? line1 : _T(PLUGIN_NAME)), _TRUNCATE);
+ wcsncpy_s(ppdp.lptzContactName, (line1 ? line1 : _T(PLUGIN_NAME)), _TRUNCATE);
if (line2)
- _tcsncpy_s(ppdp.lptzText, line2, _TRUNCATE);
+ wcsncpy_s(ppdp.lptzText, line2, _TRUNCATE);
return PUAddPopupT(&ppdp);
}
-int ShowPopup(MCONTACT hContact, BYTE popupType, TCHAR *line1, TCHAR *line2)
+int ShowPopup(MCONTACT hContact, BYTE popupType, wchar_t *line1, wchar_t *line2)
{
POPUPDATAT ppdp = {0};
switch (popupType)
@@ -234,8 +234,8 @@ int ShowPopup(MCONTACT hContact, BYTE popupType, TCHAR *line1, TCHAR *line2) ppdp.iSeconds = 0;
ppdp.lchContact = hContact;
- _tcsncpy_s(ppdp.lptzContactName, (line1 ? line1 : _T(PLUGIN_NAME)), _TRUNCATE);
+ wcsncpy_s(ppdp.lptzContactName, (line1 ? line1 : _T(PLUGIN_NAME)), _TRUNCATE);
if (line2)
- _tcsncpy_s(ppdp.lptzText, line2, _TRUNCATE);
+ wcsncpy_s(ppdp.lptzText, line2, _TRUNCATE);
return PUAddPopupT(&ppdp);
}
\ No newline at end of file diff --git a/plugins/Spamotron/src/spamotron.cpp b/plugins/Spamotron/src/spamotron.cpp index dceac13a6e..a96cc0551b 100644 --- a/plugins/Spamotron/src/spamotron.cpp +++ b/plugins/Spamotron/src/spamotron.cpp @@ -42,10 +42,10 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) char *msgblob;
char protoOption[256] = {0};
int buflen = MAX_BUFFER_LENGTH;
- TCHAR buf[MAX_BUFFER_LENGTH];
- TCHAR *message = NULL, *challengeW = NULL, *tmpW = NULL;
- TCHAR *whitelist = NULL, *ptok;
- TCHAR mexpr[64];
+ wchar_t buf[MAX_BUFFER_LENGTH];
+ wchar_t *message = NULL, *challengeW = NULL, *tmpW = NULL;
+ wchar_t *whitelist = NULL, *ptok;
+ wchar_t mexpr[64];
int maxmsglen = 0, a, b, i;
BOOL bayesEnabled = _getOptB("BayesEnabled", defaultBayesEnabled);
BOOL bCorrectResponse = FALSE;
@@ -132,20 +132,20 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) /*** Check for words in white-list ***/
if (_getOptB("ApproveOnMsgIn", defaultApproveOnMsgIn)) {
- whitelist = (TCHAR*)malloc(2048 * sizeof(TCHAR));
+ whitelist = (wchar_t*)malloc(2048 * sizeof(wchar_t));
if (whitelist != NULL) {
_getOptS(whitelist, 2048, "ApproveOnMsgInWordlist", defaultApproveOnMsgInWordlist);
if (_isregex(whitelist)) {
if (_regmatch(message, whitelist))
bCorrectResponse = TRUE;
} else {
- ptok = _tcstok(whitelist, L" ");
+ ptok = wcstok(whitelist, L" ");
while (ptok != NULL) {
- if (_tcsstr(message, ptok)) {
+ if (wcsstr(message, ptok)) {
bCorrectResponse = TRUE;
break;
}
- ptok = _tcstok(NULL, L" ");
+ ptok = wcstok(NULL, L" ");
}
}
free(whitelist);
@@ -207,8 +207,8 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) case SPAMOTRON_MODE_MATH:
if (message == NULL)
break;
- _itot(_getCOptD(hContact, "ResponseMath", -1), buf, 10);
- if (_tcsstr(message, buf) && (mir_tstrlen(buf) == mir_tstrlen(message))) {
+ _itow(_getCOptD(hContact, "ResponseMath", -1), buf, 10);
+ if (wcsstr(message, buf) && (mir_tstrlen(buf) == mir_tstrlen(message))) {
bCorrectResponse = TRUE;
}
break;
@@ -232,7 +232,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) // Resubmit pending authorization request
if (_getCOptB(hContact, "AuthEventPending", FALSE)) {
DBVARIANT _dbv;
- TCHAR AuthEventModule[100];
+ wchar_t AuthEventModule[100];
char* szAuthEventModule;
if (db_get(hContact, PLUGIN_NAME, "AuthEvent", &_dbv) == 0) {
DBEVENTINFO *_dbei = (DBEVENTINFO *)malloc(sizeof(DBEVENTINFO));
@@ -344,8 +344,8 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) /*** Send Challenge ***/
- challengeW = (TCHAR *)malloc(maxmsglen*sizeof(TCHAR));
- tmpW = (TCHAR *)malloc(maxmsglen*sizeof(TCHAR));
+ challengeW = (wchar_t *)malloc(maxmsglen*sizeof(wchar_t));
+ tmpW = (wchar_t *)malloc(maxmsglen*sizeof(wchar_t));
switch (_getOptB("Mode", defaultMode)) {
case SPAMOTRON_MODE_PLAIN:
if (dbei->eventType == EVENTTYPE_AUTHREQUEST)
diff --git a/plugins/Spamotron/src/stdafx.h b/plugins/Spamotron/src/stdafx.h index 2d584589ba..1be69abae9 100644 --- a/plugins/Spamotron/src/stdafx.h +++ b/plugins/Spamotron/src/stdafx.h @@ -40,7 +40,7 @@ #define _getOptD(a,b) _getCOptD(NULL, a, b)
#define _setOptD(a,b) _setCOptD(NULL, a, b)
-TCHAR* _getCOptS(TCHAR *buf, unsigned int buflen, MCONTACT hContact, const char* option, const TCHAR *def);
+wchar_t* _getCOptS(wchar_t *buf, unsigned int buflen, MCONTACT hContact, const char* option, const wchar_t *def);
#define _getOptS(a,b,c,d) _getCOptS(a, b, NULL, c, d)
#define _setCOptTS(a,b,c) db_set_ts(a, PLUGIN_NAME, b, c)
#define _setCOptS(a,b,c) db_set_s(a, PLUGIN_NAME, b, c)
@@ -90,24 +90,24 @@ TCHAR* _getCOptS(TCHAR *buf, unsigned int buflen, MCONTACT hContact, const char* #define _NOTIFYP _getOptB("NotifyPopup", defaultNotifyPopup)
-TCHAR* ReplaceVars(TCHAR *dst, unsigned int len);
-TCHAR* ReplaceVarsNum(TCHAR *dst, unsigned int len, int num);
-TCHAR* ReplaceVar(TCHAR *dst, unsigned int len, const TCHAR *var, const TCHAR *rvar);
-int get_response_id(const TCHAR *strvar);
-int get_response_num(const TCHAR *str);
-TCHAR* get_response(TCHAR* dst, unsigned int dstlen, int num);
-
-TCHAR* _tcsstr_cc(TCHAR* str, TCHAR* strSearch, BOOL cc);
-BOOL _isregex(TCHAR* strSearch);
-BOOL _isvalidregex(TCHAR* strSearch);
-BOOL _regmatch(TCHAR* str, TCHAR* strSearch);
-BOOL Contains(TCHAR* dst, TCHAR* src);
+wchar_t* ReplaceVars(wchar_t *dst, unsigned int len);
+wchar_t* ReplaceVarsNum(wchar_t *dst, unsigned int len, int num);
+wchar_t* ReplaceVar(wchar_t *dst, unsigned int len, const wchar_t *var, const wchar_t *rvar);
+int get_response_id(const wchar_t *strvar);
+int get_response_num(const wchar_t *str);
+wchar_t* get_response(wchar_t* dst, unsigned int dstlen, int num);
+
+wchar_t* _tcsstr_cc(wchar_t* str, wchar_t* strSearch, BOOL cc);
+BOOL _isregex(wchar_t* strSearch);
+BOOL _isvalidregex(wchar_t* strSearch);
+BOOL _regmatch(wchar_t* str, wchar_t* strSearch);
+BOOL Contains(wchar_t* dst, wchar_t* src);
BOOL isOneDay(DWORD timestamp1, DWORD timestamp2);
void MarkUnread(MCONTACT hContact);
-int ShowPopup(MCONTACT hContact, BYTE popupType, TCHAR *line1, TCHAR *line2);
-int ShowPopupPreview(HWND optDlg, BYTE popupType, TCHAR *line1, TCHAR *line2);
-int _notify(MCONTACT hContact, BYTE type, TCHAR *message, TCHAR *origmessage);
+int ShowPopup(MCONTACT hContact, BYTE popupType, wchar_t *line1, wchar_t *line2);
+int ShowPopupPreview(HWND optDlg, BYTE popupType, wchar_t *line1, wchar_t *line2);
+int _notify(MCONTACT hContact, BYTE type, wchar_t *message, wchar_t *origmessage);
int LogToSystemHistory(char *message, char *origmessage);
#define POPUP_DEFAULT 0
#define POPUP_BLOCKED 1
@@ -136,13 +136,13 @@ extern sqlite3 *bayesdb; int OpenBayes();
int CheckBayes();
-void learn(int type, TCHAR *msg);
-void learn_ham(TCHAR *msg);
-void learn_spam(TCHAR *msg);
+void learn(int type, wchar_t *msg);
+void learn_ham(wchar_t *msg);
+void learn_spam(wchar_t *msg);
int get_token_count(int type);
int get_msg_count(int type);
-double get_msg_score(TCHAR *msg);
-void queue_message(MCONTACT hContact, DWORD msgtime, TCHAR *message);
+double get_msg_score(wchar_t *msg);
+void queue_message(MCONTACT hContact, DWORD msgtime, wchar_t *message);
void bayes_approve_contact(MCONTACT hContact);
void dequeue_messages();
diff --git a/plugins/Spamotron/src/utils.cpp b/plugins/Spamotron/src/utils.cpp index 7a9bf2fe3e..4d5ca64280 100644 --- a/plugins/Spamotron/src/utils.cpp +++ b/plugins/Spamotron/src/utils.cpp @@ -2,36 +2,36 @@ #include <locale.h> -TCHAR *_tcstolower(TCHAR *dst) +wchar_t *_tcstolower(wchar_t *dst) { if (dst == NULL) return NULL; SIZE_T dst_len = mir_tstrlen(dst); for (SIZE_T i = 0; i < dst_len; i ++) - dst[i] = _totlower(dst[i]); + dst[i] = towlower(dst[i]); return dst; } -TCHAR *_tcstoupper(TCHAR *dst) +wchar_t *_tcstoupper(wchar_t *dst) { if (dst == NULL) return NULL; SIZE_T dst_len = mir_tstrlen(dst); for (SIZE_T i = 0; i < dst_len; i ++) - dst[i] = _totupper(dst[i]); + dst[i] = towupper(dst[i]); return dst; } -BOOL _isregex(TCHAR* strSearch) +BOOL _isregex(wchar_t* strSearch) { BOOL ret = FALSE; pcre16 *re; const char *error; int erroroffs, rc; - TCHAR *regex; - TCHAR regex_parse[] = L"/(.*)/([igsm]*)"; + wchar_t *regex; + wchar_t regex_parse[] = L"/(.*)/([igsm]*)"; int ovector[9]; if (strSearch == NULL) @@ -52,15 +52,15 @@ err_out: return ret; } -BOOL _isvalidregex(TCHAR* strSearch) +BOOL _isvalidregex(wchar_t* strSearch) { BOOL ret = FALSE; pcre16 *re; const char *error; int erroroffs, rc; - TCHAR *regex, *regexp, *mod; + wchar_t *regex, *regexp, *mod; int opts = 0; - TCHAR regex_parse[] = L"/(.*)/([igsm]*)"; + wchar_t regex_parse[] = L"/(.*)/([igsm]*)"; int ovector[9]; if (strSearch == NULL) @@ -82,11 +82,11 @@ BOOL _isvalidregex(TCHAR* strSearch) mod = regex + ovector[4]; mod[ovector[5] - ovector[4]] = 0; - if (_tcsstr(mod, L"i")) + if (wcsstr(mod, L"i")) opts |= PCRE_CASELESS; - if (_tcsstr(mod, L"m")) + if (wcsstr(mod, L"m")) opts |= PCRE_MULTILINE; - if (_tcsstr(mod, L"s")) + if (wcsstr(mod, L"s")) opts |= PCRE_DOTALL; re = pcre16_compile(regexp, opts, &error, &erroroffs, NULL); @@ -100,15 +100,15 @@ err_out: return ret; } -BOOL _regmatch(TCHAR* str, TCHAR* strSearch) +BOOL _regmatch(wchar_t* str, wchar_t* strSearch) { BOOL ret = FALSE; pcre16 *re; const char *error; int erroroffs, rc; - TCHAR *regex, *regexp, *data = NULL, *mod; + wchar_t *regex, *regexp, *data = NULL, *mod; int opts = 0; - TCHAR regex_parse[] = L"^/(.*)/([igsm]*)"; + wchar_t regex_parse[] = L"^/(.*)/([igsm]*)"; int ovector[9]; if (str == NULL || strSearch == NULL) @@ -133,11 +133,11 @@ BOOL _regmatch(TCHAR* str, TCHAR* strSearch) data = mir_tstrdup(str); if (data == NULL) goto err_out; - if (_tcsstr(mod, L"i")) + if (wcsstr(mod, L"i")) opts |= PCRE_CASELESS; - if (_tcsstr(mod, L"m")) + if (wcsstr(mod, L"m")) opts |= PCRE_MULTILINE; - if (_tcsstr(mod, L"s")) + if (wcsstr(mod, L"s")) opts |= PCRE_DOTALL; re = pcre16_compile(regexp, opts, &error, &erroroffs, NULL); @@ -154,14 +154,14 @@ err_out: return ret; } -int get_response_id(const TCHAR* strvar) +int get_response_id(const wchar_t* strvar) { int ret = 0; pcre16 *re; const char *error; int erroroffs, rc; - TCHAR *_str, *_strvar; - TCHAR regex[] = L"^%response([#-_]([0-9]+))?%$"; + wchar_t *_str, *_strvar; + wchar_t regex[] = L"^%response([#-_]([0-9]+))?%$"; int ovector[9]; if (strvar == NULL) @@ -181,45 +181,45 @@ int get_response_id(const TCHAR* strvar) } else if (rc == 3) { _str = _strvar + ovector[4]; _str[ovector[5] - ovector[4]] = 0; - ret = _ttoi(_str); + ret = _wtoi(_str); } mir_free(_strvar); return ret; } -int get_response_num(const TCHAR *str) +int get_response_num(const wchar_t *str) { int i = 0; - TCHAR *tmp, *strc; + wchar_t *tmp, *strc; if (str == NULL) return 0; strc = mir_tstrdup(str); if (strc == NULL) return 0; - tmp = _tcstok(strc, L"\r\n"); + tmp = wcstok(strc, L"\r\n"); while (tmp) { i ++; - tmp = _tcstok(NULL, L"\r\n"); /* Move next. */ + tmp = wcstok(NULL, L"\r\n"); /* Move next. */ } mir_free(strc); return i; } -TCHAR* get_response(TCHAR* dst, unsigned int dstlen, int num) +wchar_t* get_response(wchar_t* dst, unsigned int dstlen, int num) { int i = 0; - TCHAR *tmp, *src; + wchar_t *tmp, *src; if (dst == NULL || dstlen == 0 || num < 0) return dst; - src = (TCHAR*)mir_alloc(MAX_BUFFER_LENGTH * sizeof(TCHAR)); + src = (wchar_t*)mir_alloc(MAX_BUFFER_LENGTH * sizeof(wchar_t)); if (src == NULL) goto err_out; _getOptS(src, MAX_BUFFER_LENGTH, "Response", defaultResponse); - tmp = _tcstok(src, L"\r\n"); + tmp = wcstok(src, L"\r\n"); while (tmp) { if (i == num) { mir_tstrcpy(dst, tmp); @@ -227,7 +227,7 @@ TCHAR* get_response(TCHAR* dst, unsigned int dstlen, int num) return dst; } i ++; - tmp = _tcstok(NULL, L"\r\n"); /* Move next. */ + tmp = wcstok(NULL, L"\r\n"); /* Move next. */ } mir_free(src); err_out: @@ -235,12 +235,12 @@ err_out: return dst; } -TCHAR* _tcsstr_cc(TCHAR* str, TCHAR* strSearch, BOOL cc) +wchar_t* _tcsstr_cc(wchar_t* str, wchar_t* strSearch, BOOL cc) { - TCHAR *ret = NULL, *_str = NULL, *_strSearch = NULL; + wchar_t *ret = NULL, *_str = NULL, *_strSearch = NULL; if (cc) - return _tcsstr(str, strSearch); + return wcsstr(str, strSearch); _str = mir_tstrdup(str); if (_str == NULL) @@ -248,7 +248,7 @@ TCHAR* _tcsstr_cc(TCHAR* str, TCHAR* strSearch, BOOL cc) _strSearch = mir_tstrdup(strSearch); if (_strSearch == NULL) goto err_out; - ret = _tcsstr(_tcstolower(_str), _tcstolower(_strSearch)); + ret = wcsstr(_tcstolower(_str), _tcstolower(_strSearch)); if (ret != NULL) ret = ((ret - _str) + str); err_out: @@ -258,10 +258,10 @@ err_out: return ret; } -BOOL Contains(TCHAR* dst, TCHAR* src) // Checks for occurence of substring from src in dst +BOOL Contains(wchar_t* dst, wchar_t* src) // Checks for occurence of substring from src in dst { BOOL ret = FALSE; - TCHAR *tsrc = NULL, *tdst = NULL, *token, *token_end; + wchar_t *tsrc = NULL, *tdst = NULL, *token, *token_end; SIZE_T dst_len; if (dst == NULL || src == NULL) @@ -274,24 +274,24 @@ BOOL Contains(TCHAR* dst, TCHAR* src) // Checks for occurence of substring from goto err_out; tdst = _tcstoupper(tdst); dst_len = mir_tstrlen(tdst); - token = _tcstok(tsrc, L","); + token = wcstok(tsrc, L","); while (token) { token_end = (token + mir_tstrlen(token)); - while (!_tcsncmp(token, L" ", 1)) { /* Skeep spaces at start. */ + while (!wcsncmp(token, L" ", 1)) { /* Skeep spaces at start. */ token ++; } /* Skeep spaces at end. */ - while (token > token_end && _tcschr((token_end - 1), _T(' '))) { + while (token > token_end && wcschr((token_end - 1), ' ')) { token_end --; token_end[0] = 0; } /* Compare. */ if (dst_len == (token_end - token) && - 0 == memcmp(tdst, _tcstoupper(token), (dst_len * sizeof(TCHAR)))) { + 0 == memcmp(tdst, _tcstoupper(token), (dst_len * sizeof(wchar_t)))) { ret = TRUE; break; } - token = _tcstok(NULL, L","); /* Move next. */ + token = wcstok(NULL, L","); /* Move next. */ } err_out: mir_free(tsrc); @@ -321,9 +321,9 @@ BOOL isOneDay(DWORD timestamp1, DWORD timestamp2) return FALSE; } -TCHAR* ReplaceVar(TCHAR *dst, unsigned int len, const TCHAR *var, const TCHAR *rvar) +wchar_t* ReplaceVar(wchar_t *dst, unsigned int len, const wchar_t *var, const wchar_t *rvar) { - TCHAR *var_start; + wchar_t *var_start; SIZE_T dst_len, var_len, rvar_len; if (dst == NULL || var == NULL || rvar == NULL) @@ -331,39 +331,39 @@ TCHAR* ReplaceVar(TCHAR *dst, unsigned int len, const TCHAR *var, const TCHAR *r dst_len = mir_tstrlen(dst); var_len = mir_tstrlen(var); rvar_len = mir_tstrlen(rvar); - var_start = _tcsstr(dst, var); + var_start = wcsstr(dst, var); while (var_start) { if (len < (dst_len + rvar_len - var_len + 1)) return NULL; /* Out of buf space. */ memmove((var_start + rvar_len), (var_start + var_len), - (((dst + dst_len + 1) - (var_start + var_len)) * sizeof(TCHAR))); + (((dst + dst_len + 1) - (var_start + var_len)) * sizeof(wchar_t))); if (var_len >= rvar_len) { /* Buf data size not changed or decreased. */ dst_len -= (var_len - rvar_len); } else { /* Buf data size increased. */ dst_len += (rvar_len - var_len); } - memcpy(var_start, rvar, (rvar_len * sizeof(TCHAR))); - var_start = _tcsstr(dst, var); /* Move next. */ + memcpy(var_start, rvar, (rvar_len * sizeof(wchar_t))); + var_start = wcsstr(dst, var); /* Move next. */ } return dst; } -TCHAR* ReplaceVars(TCHAR *dst, unsigned int len) +wchar_t* ReplaceVars(wchar_t *dst, unsigned int len) { return ReplaceVarsNum(dst, len, -1); } -TCHAR* ReplaceVarsNum(TCHAR *dst, unsigned int len, int num) +wchar_t* ReplaceVarsNum(wchar_t *dst, unsigned int len, int num) { - TCHAR response[MAX_BUFFER_LENGTH]; + wchar_t response[MAX_BUFFER_LENGTH]; int ret, i; pcre16 *re; const char *error; int erroroffs, rc; - TCHAR *_str, *tmp, **r = NULL, **tr, *ttmp, *dstcopy; - TCHAR regex[] = L"%response([#-_]([0-9]+))?%"; + wchar_t *_str, *tmp, **r = NULL, **tr, *ttmp, *dstcopy; + wchar_t regex[] = L"%response([#-_]([0-9]+))?%"; int ovector[9]; re = pcre16_compile(regex, 0, &error, &erroroffs, NULL); @@ -371,14 +371,14 @@ TCHAR* ReplaceVarsNum(TCHAR *dst, unsigned int len, int num) return FALSE; // [TODO] and log some error _getOptS(response, _countof(response), "Response", defaultResponse); - ttmp = _tcstok(response, L"\r\n"); + ttmp = wcstok(response, L"\r\n"); for (i = 0; ttmp != NULL; i ++) { - tr = (TCHAR**)mir_realloc(r, ((i + 1) * sizeof(TCHAR*))); + tr = (wchar_t**)mir_realloc(r, ((i + 1) * sizeof(wchar_t*))); if (tr == NULL) goto err_out; r = tr; r[i] = ttmp; - ttmp = _tcstok(NULL, L"\r\n"); /* Move next. */ + ttmp = wcstok(NULL, L"\r\n"); /* Move next. */ } do { @@ -397,7 +397,7 @@ TCHAR* ReplaceVarsNum(TCHAR *dst, unsigned int len, int num) ttmp[ovector[1] - ovector[0]] = 0; tmp = _str + ovector[4]; tmp[ovector[5] - ovector[4]] = 0; - ret = _ttoi(tmp); + ret = _wtoi(tmp); } else { ttmp = dstcopy + ovector[0]; ttmp[ovector[1] - ovector[0]] = 0; @@ -423,10 +423,10 @@ err_out: return dst; } -int _notify(MCONTACT hContact, BYTE type, TCHAR *message, TCHAR *origmessage) +int _notify(MCONTACT hContact, BYTE type, wchar_t *message, wchar_t *origmessage) { char *tmp, *tmporig; - TCHAR msg[MAX_BUFFER_LENGTH]; + wchar_t msg[MAX_BUFFER_LENGTH]; mir_sntprintf(msg, message, pcli->pfnGetContactDisplayName(hContact, 0)); if (_getOptB("LogActions", defaultLogActions)) { |