From f4aa7e3b87abf75249e35b6bcb1c37ce9f7b648b Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 9 Oct 2013 12:07:26 +0000 Subject: fix for recursion in Folders git-svn-id: http://svn.miranda-ng.org/main/trunk@6414 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/database/database.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/modules/database/database.cpp') diff --git a/src/modules/database/database.cpp b/src/modules/database/database.cpp index bdf8422569..25cfed9520 100644 --- a/src/modules/database/database.cpp +++ b/src/modules/database/database.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // contains the location of mirandaboot.ini extern TCHAR mirandabootini[MAX_PATH]; bool g_bDbCreated; -TCHAR g_profileDir[MAX_PATH], g_profileName[MAX_PATH], g_profileRoot[MAX_PATH]; +TCHAR g_profileDir[MAX_PATH], g_profileName[MAX_PATH], g_shortProfileName[MAX_PATH]; TCHAR* g_defaultProfile; void EnsureCheckerLoaded(bool); @@ -50,12 +50,12 @@ static void fillProfileName(const TCHAR* ptszFileName) else p++; - _tcsncpy(g_profileName, p, SIZEOF(g_profileName)); + _tcsncpy_s(g_profileName, SIZEOF(g_profileName), p, _TRUNCATE); - TCHAR *szProfile = NEWTSTR_ALLOCA(p); - TCHAR *pExt = _tcsstr( _tcslwr(szProfile), _T(".dat")); - if (pExt) *pExt = 0; - mir_sntprintf(g_profileRoot, SIZEOF(g_profileRoot), _T("%s\\%s"), g_profileDir, szProfile); + _tcsncpy_s(g_shortProfileName, SIZEOF(g_shortProfileName), p, _TRUNCATE); + TCHAR *pos = _tcsrchr(g_shortProfileName, '.'); + if (lstrcmpi(pos, _T(".dat")) == 0) + *pos = 0; } bool IsInsideRootDir(TCHAR* profiledir, bool exact) -- cgit v1.2.3