diff options
Diffstat (limited to 'plugins/Spamotron/src/utils.cpp')
-rw-r--r-- | plugins/Spamotron/src/utils.cpp | 120 |
1 files changed, 60 insertions, 60 deletions
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)) { |