From 1c44f2df0725c7673b0522121461337270cd47c6 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 21 Feb 2013 13:03:09 +0000 Subject: service MS_VARS_FREEMEMORY replaced with the direct call of mir_free git-svn-id: http://svn.miranda-ng.org/main/trunk@3669 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Variables/src/parse_regexp.cpp | 4 +-- plugins/Variables/src/parse_str.cpp | 12 ++++---- plugins/Variables/src/variables.cpp | 50 +++++++++------------------------- plugins/Variables/src/variables.h | 3 ++ 4 files changed, 24 insertions(+), 45 deletions(-) (limited to 'plugins/Variables') diff --git a/plugins/Variables/src/parse_regexp.cpp b/plugins/Variables/src/parse_regexp.cpp index 774b64275a..87b3925e2d 100644 --- a/plugins/Variables/src/parse_regexp.cpp +++ b/plugins/Variables/src/parse_regexp.cpp @@ -46,7 +46,7 @@ static TCHAR *parseRegExpCheck(ARGUMENTSINFO *ai) { return NULL; } pcre_extra *extra = pcre_study(ppat, 0, &err); - int nmat = pcre_exec(ppat, extra, arg2, strlen(arg2), 0, 0, offsets, 99); + int nmat = pcre_exec(ppat, extra, arg2, (int)strlen(arg2), 0, 0, offsets, 99); mir_free(arg1); mir_free(arg2); if (nmat > 0) { @@ -96,7 +96,7 @@ static TCHAR *parseRegExpSubstr(ARGUMENTSINFO *ai) { return NULL; } pcre_extra *extra = pcre_study(ppat, 0, &err); - int nmat = pcre_exec(ppat, extra, arg2, strlen(arg2), 0, 0, offsets, 99); + int nmat = pcre_exec(ppat, extra, arg2, (int)strlen(arg2), 0, 0, offsets, 99); if (nmat >= 0) { ai->flags &= ~AIF_FALSE; } diff --git a/plugins/Variables/src/parse_str.cpp b/plugins/Variables/src/parse_str.cpp index 8b0740654d..df9eef63c4 100644 --- a/plugins/Variables/src/parse_str.cpp +++ b/plugins/Variables/src/parse_str.cpp @@ -199,7 +199,7 @@ static TCHAR *parseLen(ARGUMENTSINFO *ai) if (ai->argc != 2) return NULL; - return itot( _tcslen( ai->targv[1] )); + return itot((int)_tcslen( ai->targv[1] )); } static TCHAR *parseLineCount(ARGUMENTSINFO *ai) @@ -462,13 +462,13 @@ static TCHAR *parseScroll(ARGUMENTSINFO *ai) { } move = ttoi(ai->targv[3])%_tcslen(ai->targv[1]); display = ttoi(ai->targv[2]); - if (display > _tcslen(ai->targv[1])) { - display = _tcslen(ai->targv[1]); - } + if (display > _tcslen(ai->targv[1])) + display = (unsigned)_tcslen(ai->targv[1]); + res = (TCHAR*)mir_alloc((2*_tcslen(ai->targv[1])+1)*sizeof(TCHAR)); - if (res == NULL) { + if (res == NULL) return NULL; - } + ZeroMemory(res, (2*_tcslen(ai->targv[1])+1)*sizeof(TCHAR)); _tcscpy(res, ai->targv[1]); _tcscat(res, ai->targv[1]); diff --git a/plugins/Variables/src/variables.cpp b/plugins/Variables/src/variables.cpp index dcdc3c48c0..86c8efe983 100644 --- a/plugins/Variables/src/variables.cpp +++ b/plugins/Variables/src/variables.cpp @@ -24,7 +24,6 @@ static BOOL bWarningShown = FALSE; // unicode on ansi warning /* some handles */ static HANDLE hFormatStringService, - hFreeMemoryService, hRegisterVariableService, hGetMMIService, hShowHelpService, @@ -492,51 +491,30 @@ static INT_PTR formatStringService(WPARAM wParam, LPARAM lParam) { return res; } -TCHAR *formatString(FORMATINFO *fi) { - +TCHAR *formatString(FORMATINFO *fi) +{ /* the service to format a given string */ - TCHAR *string, *formattedString; - if (fi->eCount + fi->pCount > 5000) { fi->eCount += 1; fi->pCount += 1; log_debugA("Variables: Overflow protection; %d parses", fi->eCount + fi->pCount); return NULL; } - if ((fi == NULL) || (fi->tszFormat == NULL)) { - return NULL; - } - string = mir_tstrdup(fi->tszFormat); - if (string == NULL) { - return NULL; - } - formattedString = replaceDynVars(string, fi); - mir_free(string); - if (formattedString == NULL) { + if ((fi == NULL) || (fi->tszFormat == NULL)) return NULL; - } - - return formattedString; -} -/* - MS_VARS_FREEMEMORY -*/ -static INT_PTR freeMemory(WPARAM wParam, LPARAM lParam) { - - if ((void*)wParam == NULL) { - return -1; - } - mir_free((void*)wParam); + mir_ptr string( mir_tstrdup(fi->tszFormat)); + if (string == NULL) + return NULL; - return 0; + return replaceDynVars(string, fi); } -int setParseOptions(struct ParseOptions *po) { - - if (po == NULL) { +int setParseOptions(struct ParseOptions *po) +{ + if (po == NULL) po = &gParseOpts; - } + ZeroMemory(po, sizeof(struct ParseOptions)); if (!db_get_b(NULL, MODULENAME, SETTING_STRIPALL, 0)) { po->bStripEOL = db_get_b(NULL, MODULENAME, SETTING_STRIPCRLF, 0); @@ -558,7 +536,6 @@ int LoadVarModule() setParseOptions(NULL); hFormatStringService = CreateServiceFunction(MS_VARS_FORMATSTRING, formatStringService); - hFreeMemoryService = CreateServiceFunction(MS_VARS_FREEMEMORY, freeMemory); hRegisterVariableService = CreateServiceFunction(MS_VARS_REGISTERTOKEN, registerToken); // help dialog hCurSplitNS = LoadCursor(NULL, IDC_SIZENS); @@ -573,7 +550,7 @@ int LoadVarModule() hShowHelpExService = CreateServiceFunction(MS_VARS_SHOWHELPEX, showHelpExService); Icon_Register(hInst, LPGEN("Variables"), &icon, 1); - + hIconsChangedHook = HookEvent(ME_SKIN2_ICONSCHANGED, iconsChanged); hGetIconService = CreateServiceFunction(MS_VARS_GETSKINITEM, getSkinItemService); @@ -600,7 +577,7 @@ int LoadVarModule() fi.cbSize = sizeof(fi); fi.tszFormat = db_get_tsa(NULL, MODULENAME, SETTING_STARTUPTEXT); if (fi.tszFormat != NULL) { - freeMemory((WPARAM)formatString(&fi), 0); + mir_free(formatString(&fi)); mir_free(fi.tszFormat); } } @@ -616,7 +593,6 @@ int UnloadVarModule() { UnhookEvent(hIconsChangedHook); DestroyServiceFunction(hRegisterVariableService); - DestroyServiceFunction(hFreeMemoryService); DestroyServiceFunction(hFormatStringService); DestroyServiceFunction(hGetMMIService); DestroyServiceFunction(hShowHelpService); diff --git a/plugins/Variables/src/variables.h b/plugins/Variables/src/variables.h index 2029c5d848..3030b41f2e 100644 --- a/plugins/Variables/src/variables.h +++ b/plugins/Variables/src/variables.h @@ -17,6 +17,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#define _CRT_NON_CONFORMING_SWPRINTFS +#define _CRT_SECURE_NO_WARNINGS + #include #include -- cgit v1.2.3