summaryrefslogtreecommitdiff
path: root/Sessions/Src/Main.cpp
diff options
context:
space:
mode:
authormataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-07-17 18:59:06 +0000
committermataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-07-17 18:59:06 +0000
commita6f37bd3c2b705a525d478f759b8d8144b902967 (patch)
treed79d4188e53ec46961e5abe2e3c0b903c28e268b /Sessions/Src/Main.cpp
parenta818ed0593c74735eb2e888bb09c169cf82c894f (diff)
Sessions:
fixed bug with mir_free fixed not loading contacts more then one git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@154 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'Sessions/Src/Main.cpp')
-rw-r--r--Sessions/Src/Main.cpp53
1 files changed, 23 insertions, 30 deletions
diff --git a/Sessions/Src/Main.cpp b/Sessions/Src/Main.cpp
index 0a4a173..ec13338 100644
--- a/Sessions/Src/Main.cpp
+++ b/Sessions/Src/Main.cpp
@@ -476,15 +476,14 @@ INT_PTR CloseCurrentSession(WPARAM wparam,LPARAM lparam)
int SaveSessionHandles(WPARAM wparam,LPARAM lparam)
{
int k=0;
- HANDLE hContact;
if(session_list[0]!=0)
{
- for (hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); hContact;
+ for (HANDLE hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); hContact;
hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0))
{
if ((k=CheckForDuplicate(session_list,(DWORD)hContact))!=-1
- &&!(g_bExclHidden&&!CheckContactVisibility((DWORD)hContact)))
+ &&!(g_bExclHidden&&!CheckContactVisibility(hContact)))
{
AddSessionMark((HANDLE)hContact,lparam,'1');
AddInSessionOrder((HANDLE)hContact,lparam,k,1);
@@ -538,45 +537,39 @@ INT_PTR OpenSessionsManagerWindow(WPARAM wparam,LPARAM lparam)
int SaveSessionDate()
{
- DBVARIANT dbv={0};
- int i=0;
- char szSessionDate[256]={0};
- TCHAR *szSessionDateBuf_1=NULL;
- TCHAR *szTimeBuf=NULL;
- TCHAR *szDateBuf=NULL;
- TCHAR *szSessionTime=NULL;
- TCHAR *ptr=NULL;
- int TimeSize;
- int DateSize;
- size_t lenn;
if(session_list[0]!=0)
{
- TimeSize=GetTimeFormat(LOCALE_USER_DEFAULT,0/*TIME_NOSECONDS*/,NULL,NULL,NULL,0);
- szTimeBuf = (TCHAR*)mir_alloc((TimeSize+1)*sizeof(TCHAR));
+ int TimeSize = GetTimeFormat(LOCALE_USER_DEFAULT, 0/*TIME_NOSECONDS*/, NULL, NULL, NULL, 0);
+ TCHAR *szTimeBuf = (TCHAR*)mir_alloc((TimeSize+1)*sizeof(TCHAR));
- GetTimeFormat(LOCALE_USER_DEFAULT, 0/*TIME_NOSECONDS*/,NULL,NULL,szTimeBuf,TimeSize);
+ GetTimeFormat(LOCALE_USER_DEFAULT, 0/*TIME_NOSECONDS*/, NULL, NULL, szTimeBuf, TimeSize);
- DateSize=GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,NULL,NULL,NULL,0);
- szDateBuf = (TCHAR*)mir_alloc((DateSize+1)*sizeof(TCHAR));
+ int DateSize = GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, NULL, 0);
+ TCHAR *szDateBuf = (TCHAR*)mir_alloc((DateSize+1)*sizeof(TCHAR));
- GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,NULL,NULL,szDateBuf,DateSize );
- szSessionTime = (TCHAR*)mir_alloc((DateSize+TimeSize+4)*sizeof(TCHAR));
- lenn=_tcslen(szSessionTime);
- mir_sntprintf(szSessionTime, ((DateSize+TimeSize+4)*sizeof(TCHAR)), _T("%s - %s")/*TCHAR_STR_PARAM _T(" - ") TCHAR_STR_PARAM*/, szTimeBuf,szDateBuf);
+ GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, szDateBuf, DateSize );
+ TCHAR *szSessionTime = (TCHAR*)mir_alloc((DateSize+TimeSize+5)*sizeof(TCHAR));
+ int lenn = _tcslen(szSessionTime);
+ mir_sntprintf(szSessionTime, lenn, _T("%s - %s"), szTimeBuf, szDateBuf);
- mir_snprintf(szSessionDate, SIZEOF(szSessionDate), "%s_%u", "SessionDate", 0);
+ char szSessionDate[256];
+ DBVARIANT dbv = {0};
+ mir_snprintf(szSessionDate, SIZEOF(szSessionDate), "%s_%d", "SessionDate", 0);
DBGetContactSettingTString(NULL, __INTERNAL_NAME, szSessionDate, &dbv);
- szSessionDateBuf_1 = mir_tstrdup(dbv.ptszVal);
+ TCHAR *szSessionDateBuf_1 = mir_tstrdup(dbv.ptszVal);
DBFreeVariant(&dbv);
DBWriteContactSettingTString(NULL, __INTERNAL_NAME, szSessionDate, szSessionTime);
mir_free(szSessionTime);
- ResaveSettings("SessionDate",1,ses_limit,szSessionDateBuf_1);
+ ResaveSettings("SessionDate", 1, ses_limit, szSessionDateBuf_1);
- if(szTimeBuf) mir_free(szTimeBuf);
- if(szDateBuf) mir_free(szDateBuf);
+ if(szTimeBuf)
+ mir_free(szTimeBuf);
+ if(szDateBuf)
+ mir_free(szDateBuf);
}
- if(g_bCrashRecovery) DBWriteContactSettingByte(NULL, __INTERNAL_NAME, "lastSaveCompleted", 1);
+ if(g_bCrashRecovery)
+ DBWriteContactSettingByte(NULL, __INTERNAL_NAME, "lastSaveCompleted", 1);
return 0;
}
@@ -653,7 +646,7 @@ int LoadSession(WPARAM wparam,LPARAM lparam)
CallService(MS_CLIST_CONTACTDOUBLECLICKED, (WPARAM)session_list_t[i], 0);
else if(g_bWarnOnHidden)
{
- if(!CheckContactVisibility(session_list_t[i]))
+ if(!CheckContactVisibility((HANDLE)session_list_t[i]))
{
hidden[j]=i+1;
j++;