From 4c8d19f8daa2f9b9692d5995226439b2001ad92f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 8 Feb 2014 18:13:03 +0000 Subject: low-level database access functions rewritten to MCONTACT instead of HANDLE hContact git-svn-id: http://svn.miranda-ng.org/main/trunk@8067 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/mir_core/db.cpp | 55 ++++++++++---------- src/modules/database/database.h | 10 ++-- src/modules/database/dbintf.cpp | 6 +-- src/modules/database/mdatabasecache.cpp | 90 ++++++++++++++++++--------------- src/modules/protocols/protochains.cpp | 12 ++--- 5 files changed, 92 insertions(+), 81 deletions(-) (limited to 'src') diff --git a/src/mir_core/db.cpp b/src/mir_core/db.cpp index 2cfbbfc0a1..5912b5125a 100644 --- a/src/mir_core/db.cpp +++ b/src/mir_core/db.cpp @@ -33,7 +33,8 @@ MIR_CORE_DLL(int) db_get_b(HANDLE hContact, const char *szModule, const char *sz { if (currDb != NULL) { DBVARIANT dbv; - if (!currDb->GetContactSetting(hContact, szModule, szSetting, &dbv)) { + if (!currDb->GetContactSetting((MCONTACT)hContact, szModule, szSetting, &dbv)) + { switch(dbv.type) { case DBVT_BYTE: return dbv.bVal; case DBVT_WORD: return BYTE(dbv.wVal); @@ -49,7 +50,7 @@ MIR_CORE_DLL(int) db_get_w(HANDLE hContact, const char *szModule, const char *sz { if (currDb != NULL) { DBVARIANT dbv; - if (!currDb->GetContactSetting(hContact, szModule, szSetting, &dbv)) { + if (!currDb->GetContactSetting((MCONTACT)hContact, szModule, szSetting, &dbv)) { switch(dbv.type) { case DBVT_BYTE: return dbv.bVal; case DBVT_WORD: return dbv.wVal; @@ -65,7 +66,7 @@ MIR_CORE_DLL(DWORD) db_get_dw(HANDLE hContact, const char *szModule, const char { if (currDb != NULL) { DBVARIANT dbv; - if (!currDb->GetContactSetting(hContact, szModule, szSetting, &dbv)) { + if (!currDb->GetContactSetting((MCONTACT)hContact, szModule, szSetting, &dbv)) { switch(dbv.type) { case DBVT_BYTE: return dbv.bVal; case DBVT_WORD: return dbv.wVal; @@ -84,7 +85,7 @@ MIR_CORE_DLL(INT_PTR) db_get(HANDLE hContact, const char *szModule, const char * if (currDb == NULL) return 1; - return currDb->GetContactSetting(hContact, szModule, szSetting, dbv); + return currDb->GetContactSetting((MCONTACT)hContact, szModule, szSetting, dbv); } MIR_CORE_DLL(INT_PTR) db_get_s(HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv, const int nType) @@ -93,7 +94,7 @@ MIR_CORE_DLL(INT_PTR) db_get_s(HANDLE hContact, const char *szModule, const char return 1; dbv->type = (BYTE)nType; - return currDb->GetContactSettingStr(hContact, szModule, szSetting, dbv); + return currDb->GetContactSettingStr((MCONTACT)hContact, szModule, szSetting, dbv); } MIR_CORE_DLL(char*) db_get_sa(HANDLE hContact, const char *szModule, const char *szSetting) @@ -130,7 +131,7 @@ MIR_CORE_DLL(int) db_get_static(HANDLE hContact, const char *szModule, const cha dbv.type = DBVT_ASCIIZ; dbv.pszVal = pDest; dbv.cchVal = cbDest; - return currDb->GetContactSettingStatic(hContact, szModule, szSetting, &dbv); + return currDb->GetContactSettingStatic((MCONTACT)hContact, szModule, szSetting, &dbv); } MIR_CORE_DLL(int) db_get_static_utf(HANDLE hContact, const char *szModule, const char *szSetting, char *pDest, int cbDest) @@ -142,7 +143,7 @@ MIR_CORE_DLL(int) db_get_static_utf(HANDLE hContact, const char *szModule, const dbv.type = DBVT_UTF8; dbv.pszVal = pDest; dbv.cchVal = cbDest; - return currDb->GetContactSettingStatic(hContact, szModule, szSetting, &dbv); + return currDb->GetContactSettingStatic((MCONTACT)hContact, szModule, szSetting, &dbv); } MIR_CORE_DLL(int) db_get_wstatic(HANDLE hContact, const char *szModule, const char *szSetting, WCHAR *pDest, int cbDest) @@ -154,7 +155,7 @@ MIR_CORE_DLL(int) db_get_wstatic(HANDLE hContact, const char *szModule, const ch dbv.type = DBVT_WCHAR; dbv.pwszVal = pDest; dbv.cchVal = cbDest; - return currDb->GetContactSettingStatic(hContact, szModule, szSetting, &dbv); + return currDb->GetContactSettingStatic((MCONTACT)hContact, szModule, szSetting, &dbv); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -168,7 +169,7 @@ MIR_CORE_DLL(INT_PTR) db_set(HANDLE hContact, const char *szModule, const char * cws.szModule = szModule; cws.szSetting = szSetting; cws.value = *dbv; - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_b(HANDLE hContact, const char *szModule, const char *szSetting, BYTE val) @@ -180,7 +181,7 @@ MIR_CORE_DLL(INT_PTR) db_set_b(HANDLE hContact, const char *szModule, const char cws.szSetting = szSetting; cws.value.type = DBVT_BYTE; cws.value.bVal = val; - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_w(HANDLE hContact, const char *szModule, const char *szSetting, WORD val) @@ -192,7 +193,7 @@ MIR_CORE_DLL(INT_PTR) db_set_w(HANDLE hContact, const char *szModule, const char cws.szSetting = szSetting; cws.value.type = DBVT_WORD; cws.value.wVal = val; - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_dw(HANDLE hContact, const char *szModule, const char *szSetting, DWORD val) @@ -204,7 +205,7 @@ MIR_CORE_DLL(INT_PTR) db_set_dw(HANDLE hContact, const char *szModule, const cha cws.szSetting = szSetting; cws.value.type = DBVT_DWORD; cws.value.dVal = val; - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_s(HANDLE hContact, const char *szModule, const char *szSetting, const char *val) @@ -216,7 +217,7 @@ MIR_CORE_DLL(INT_PTR) db_set_s(HANDLE hContact, const char *szModule, const char cws.szSetting = szSetting; cws.value.type = DBVT_ASCIIZ; cws.value.pszVal = (char*)(val == NULL ? "" : val); - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_ws(HANDLE hContact, const char *szModule, const char *szSetting, const WCHAR *val) @@ -228,7 +229,7 @@ MIR_CORE_DLL(INT_PTR) db_set_ws(HANDLE hContact, const char *szModule, const cha cws.szSetting = szSetting; cws.value.type = DBVT_WCHAR; cws.value.pwszVal = (WCHAR*)(val == NULL ? L"" : val); - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_utf(HANDLE hContact, const char *szModule, const char *szSetting, const char *val) @@ -240,7 +241,7 @@ MIR_CORE_DLL(INT_PTR) db_set_utf(HANDLE hContact, const char *szModule, const ch cws.szSetting = szSetting; cws.value.type = DBVT_UTF8; cws.value.pszVal = (char*)(val == NULL ? "" : val); - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } MIR_CORE_DLL(INT_PTR) db_set_blob(HANDLE hContact, const char *szModule, const char *szSetting, void *val, unsigned len) @@ -253,7 +254,7 @@ MIR_CORE_DLL(INT_PTR) db_set_blob(HANDLE hContact, const char *szModule, const c cws.value.type = DBVT_BLOB; cws.value.cpbVal = (WORD)len; cws.value.pbVal = (unsigned char*)val; - return currDb->WriteContactSetting(hContact, &cws); + return currDb->WriteContactSetting((MCONTACT)hContact, &cws); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -261,27 +262,27 @@ MIR_CORE_DLL(INT_PTR) db_set_blob(HANDLE hContact, const char *szModule, const c MIR_CORE_DLL(HANDLE) db_event_add(HANDLE hContact, DBEVENTINFO *dbei) { - return (currDb == NULL) ? 0 : currDb->AddEvent(hContact, dbei); + return (currDb == NULL) ? 0 : currDb->AddEvent((MCONTACT)hContact, dbei); } MIR_CORE_DLL(int) db_event_count(HANDLE hContact) { - return (currDb == NULL) ? 0 : currDb->GetEventCount(hContact); + return (currDb == NULL) ? 0 : currDb->GetEventCount((MCONTACT)hContact); } MIR_CORE_DLL(int) db_event_delete(HANDLE hContact, HANDLE hDbEvent) { - return (currDb == NULL) ? 0 : currDb->DeleteEvent(hContact, hDbEvent); + return (currDb == NULL) ? 0 : currDb->DeleteEvent((MCONTACT)hContact, hDbEvent); } MIR_CORE_DLL(HANDLE) db_event_first(HANDLE hContact) { - return (currDb == NULL) ? 0 : currDb->FindFirstEvent(hContact); + return (currDb == NULL) ? 0 : currDb->FindFirstEvent((MCONTACT)hContact); } MIR_CORE_DLL(HANDLE) db_event_firstUnread(HANDLE hContact) { - return (currDb == NULL) ? 0 : currDb->FindFirstUnreadEvent(hContact); + return (currDb == NULL) ? 0 : currDb->FindFirstUnreadEvent((MCONTACT)hContact); } MIR_CORE_DLL(int) db_event_get(HANDLE hDbEvent, DBEVENTINFO *dbei) @@ -299,14 +300,14 @@ MIR_CORE_DLL(HANDLE) db_event_getContact(HANDLE hDbEvent) return (currDb == NULL) ? 0 : currDb->GetEventContact(hDbEvent); } -MIR_CORE_DLL(HANDLE) db_event_last(HANDLE hDbEvent) +MIR_CORE_DLL(HANDLE) db_event_last(HANDLE hContact) { - return (currDb == NULL) ? 0 : currDb->FindLastEvent(hDbEvent); + return (currDb == NULL) ? 0 : currDb->FindLastEvent((MCONTACT)hContact); } MIR_CORE_DLL(int) db_event_markRead(HANDLE hContact, HANDLE hDbEvent) { - return (currDb == NULL) ? 0 : currDb->MarkEventRead(hContact, hDbEvent); + return (currDb == NULL) ? 0 : currDb->MarkEventRead((MCONTACT)hContact, hDbEvent); } MIR_CORE_DLL(HANDLE) db_event_next(HANDLE hDbEvent) @@ -332,17 +333,17 @@ MIR_CORE_DLL(INT_PTR) db_unset(HANDLE hContact, const char *szModule, const char if (currDb == NULL) return 1; - return currDb->DeleteContactSetting(hContact, szModule, szSetting); + return currDb->DeleteContactSetting((MCONTACT)hContact, szModule, szSetting); } MIR_CORE_DLL(HANDLE) db_find_first(const char *szProto) { - return (currDb == NULL) ? NULL : currDb->FindFirstContact(szProto); + return (currDb == NULL) ? NULL : (HANDLE)currDb->FindFirstContact(szProto); } MIR_CORE_DLL(HANDLE) db_find_next(HANDLE hContact, const char *szProto) { - return (currDb == NULL) ? NULL : currDb->FindNextContact(hContact, szProto); + return (currDb == NULL) ? NULL : (HANDLE)currDb->FindNextContact((MCONTACT)hContact, szProto); } extern "C" MIR_CORE_DLL(void) db_setCurrent(MIDatabase* _db) diff --git a/src/modules/database/database.h b/src/modules/database/database.h index 33121c8fcf..286c651c02 100644 --- a/src/modules/database/database.h +++ b/src/modules/database/database.h @@ -39,12 +39,14 @@ public: ~MDatabaseCache(); protected: - STDMETHODIMP_(DBCachedContact*) AddContactToCache(HANDLE hContact); - STDMETHODIMP_(DBCachedContact*) GetCachedContact(HANDLE hContact); - STDMETHODIMP_(void) FreeCachedContact(HANDLE hContact); + STDMETHODIMP_(DBCachedContact*) AddContactToCache(MCONTACT contactID); + STDMETHODIMP_(DBCachedContact*) GetCachedContact(MCONTACT contactID); + STDMETHODIMP_(DBCachedContact*) GetFirstContact(void); + STDMETHODIMP_(DBCachedContact*) GetNextContact(MCONTACT contactID); + STDMETHODIMP_(void) FreeCachedContact(MCONTACT contactID); STDMETHODIMP_(char*) InsertCachedSetting(const char *szName, int); STDMETHODIMP_(char*) GetCachedSetting(const char *szModuleName, const char *szSettingName, int, int); STDMETHODIMP_(void) SetCachedVariant(DBVARIANT *s, DBVARIANT *d); - STDMETHODIMP_(DBVARIANT*) GetCachedValuePtr(HANDLE hContact, char *szSetting, int bAllocate); + STDMETHODIMP_(DBVARIANT*) GetCachedValuePtr(MCONTACT contactID, char *szSetting, int bAllocate); }; diff --git a/src/modules/database/dbintf.cpp b/src/modules/database/dbintf.cpp index a03ac5b97c..a4a4e7a1a7 100644 --- a/src/modules/database/dbintf.cpp +++ b/src/modules/database/dbintf.cpp @@ -52,7 +52,7 @@ static INT_PTR srvDeleteContact(WPARAM wParam, LPARAM) DeleteFile(dbv.ptszVal); db_free(&dbv); } - return (currDb) ? currDb->DeleteContact((HANDLE)wParam) : 0; + return (currDb) ? currDb->DeleteContact(wParam) : 0; } static INT_PTR srvAddContact(WPARAM wParam, LPARAM) @@ -62,7 +62,7 @@ static INT_PTR srvAddContact(WPARAM wParam, LPARAM) static INT_PTR srvIsDbContact(WPARAM wParam, LPARAM) { - return (currDb) ? currDb->IsDbContact((HANDLE)wParam) : 0; + return (currDb) ? currDb->IsDbContact(wParam) : 0; } /////////////////////////////////////////////////////////////////////////////// @@ -78,7 +78,7 @@ static INT_PTR srvEnumModuleNames(WPARAM wParam,LPARAM lParam) static INT_PTR srvEnumContactSettings(WPARAM wParam,LPARAM lParam) { - return (currDb) ? (INT_PTR)currDb->EnumContactSettings((HANDLE)wParam, (DBCONTACTENUMSETTINGS*)lParam) : 0; + return (currDb) ? (INT_PTR)currDb->EnumContactSettings(wParam, (DBCONTACTENUMSETTINGS*)lParam) : 0; } static INT_PTR srvEnumResidentSettings(WPARAM wParam,LPARAM lParam) diff --git a/src/modules/database/mdatabasecache.cpp b/src/modules/database/mdatabasecache.cpp index f6c13e0cda..1dcd29861e 100644 --- a/src/modules/database/mdatabasecache.cpp +++ b/src/modules/database/mdatabasecache.cpp @@ -36,7 +36,7 @@ static int compareGlobals(const DBCachedGlobalValue* p1, const DBCachedGlobalVal MDatabaseCache::MDatabaseCache() : m_lSettings(100, stringCompare), - m_lContacts(50, HandleKeySortT), + m_lContacts(50, NumericKeySortT), m_lGlobalSettings(50, compareGlobals) { m_hCacheHeap = HeapCreate(0, 0, 0); @@ -51,34 +51,48 @@ MDatabaseCache::~MDatabaseCache() ///////////////////////////////////////////////////////////////////////////////////////// -DBCachedContact* MDatabaseCache::AddContactToCache(HANDLE hContact) +DBCachedContact* MDatabaseCache::AddContactToCache(MCONTACT contactID) { mir_cslock lck(m_cs); - int index = m_lContacts.getIndex((DBCachedContact*)&hContact); + int index = m_lContacts.getIndex((DBCachedContact*)&contactID); if (index == -1) { DBCachedContact* VL = (DBCachedContact*)HeapAlloc(m_hCacheHeap, HEAP_ZERO_MEMORY, sizeof(DBCachedContact)); - VL->hContact = hContact; + VL->contactID = contactID; m_lContacts.insert(VL); return VL; } - return m_lContacts[ index ]; + return m_lContacts[index]; } -DBCachedContact* MDatabaseCache::GetCachedContact(HANDLE hContact) +DBCachedContact* MDatabaseCache::GetCachedContact(MCONTACT contactID) { mir_cslock lck(m_cs); - int index = m_lContacts.getIndex((DBCachedContact*)&hContact); + int index = m_lContacts.getIndex((DBCachedContact*)&contactID); return (index == -1) ? NULL : m_lContacts[index]; } -void MDatabaseCache::FreeCachedContact(HANDLE hContact) +DBCachedContact* MDatabaseCache::GetFirstContact() { mir_cslock lck(m_cs); + return m_lContacts[0]; +} + +DBCachedContact* MDatabaseCache::GetNextContact(MCONTACT contactID) +{ + mir_cslock lck(m_cs); + + int index = m_lContacts.getIndex((DBCachedContact*)&contactID); + return (index == -1) ? NULL : m_lContacts[index+1]; +} - int index = m_lContacts.getIndex((DBCachedContact*)&hContact); +void MDatabaseCache::FreeCachedContact(MCONTACT contactID) +{ + mir_cslock lck(m_cs); + + int index = m_lContacts.getIndex((DBCachedContact*)&contactID); if (index == -1) return; @@ -87,18 +101,12 @@ void MDatabaseCache::FreeCachedContact(HANDLE hContact) while (V != NULL) { DBCachedContactValue* V1 = V->next; FreeCachedVariant(&V->value); - HeapFree( m_hCacheHeap, 0, V ); + HeapFree(m_hCacheHeap, 0, V); V = V1; } - HeapFree( m_hCacheHeap, 0, VL ); + HeapFree(m_hCacheHeap, 0, VL); m_lContacts.remove(index); - - for (int i=0; i < m_lContacts.getCount(); i++) { - DBCachedContact *cc = m_lContacts[i]; - if (cc->hNext == hContact) - cc->hNext = NULL; - } } ///////////////////////////////////////////////////////////////////////////////////////// @@ -112,14 +120,14 @@ char* MDatabaseCache::InsertCachedSetting(const char* szName, int cbLen) return newValue; } -char* MDatabaseCache::GetCachedSetting(const char *szModuleName,const char *szSettingName, int moduleNameLen, int settingNameLen) +char* MDatabaseCache::GetCachedSetting(const char *szModuleName, const char *szSettingName, int moduleNameLen, int settingNameLen) { char szFullName[512]; const char *szKey; if (szModuleName != NULL) { strcpy(szFullName, szModuleName); szFullName[moduleNameLen] = '/'; - strcpy(szFullName+moduleNameLen+1,szSettingName); + strcpy(szFullName + moduleNameLen + 1, szSettingName); szKey = szFullName; } else szKey = szSettingName; @@ -131,56 +139,56 @@ char* MDatabaseCache::GetCachedSetting(const char *szModuleName,const char *szSe if (index != -1) m_lastSetting = m_lSettings[index]; else - m_lastSetting = InsertCachedSetting(szKey, settingNameLen+moduleNameLen+3); + m_lastSetting = InsertCachedSetting(szKey, settingNameLen + moduleNameLen + 3); return m_lastSetting; } -void MDatabaseCache::SetCachedVariant(DBVARIANT* s /* new */, DBVARIANT* d /* cached */ ) +void MDatabaseCache::SetCachedVariant(DBVARIANT* s /* new */, DBVARIANT* d /* cached */) { - char* szSave = ( d->type == DBVT_UTF8 || d->type == DBVT_ASCIIZ ) ? d->pszVal : NULL; + char* szSave = (d->type == DBVT_UTF8 || d->type == DBVT_ASCIIZ) ? d->pszVal : NULL; - memcpy( d, s, sizeof( DBVARIANT )); - if (( s->type == DBVT_UTF8 || s->type == DBVT_ASCIIZ ) && s->pszVal != NULL ) { - if ( szSave != NULL ) - d->pszVal = (char*)HeapReAlloc(m_hCacheHeap,0,szSave,strlen(s->pszVal)+1); + memcpy(d, s, sizeof(DBVARIANT)); + if ((s->type == DBVT_UTF8 || s->type == DBVT_ASCIIZ) && s->pszVal != NULL) { + if (szSave != NULL) + d->pszVal = (char*)HeapReAlloc(m_hCacheHeap, 0, szSave, strlen(s->pszVal) + 1); else - d->pszVal = (char*)HeapAlloc(m_hCacheHeap,0,strlen(s->pszVal)+1); - strcpy(d->pszVal,s->pszVal); + d->pszVal = (char*)HeapAlloc(m_hCacheHeap, 0, strlen(s->pszVal) + 1); + strcpy(d->pszVal, s->pszVal); } - else if ( szSave != NULL ) { - HeapFree(m_hCacheHeap,0,szSave); + else if (szSave != NULL) { + HeapFree(m_hCacheHeap, 0, szSave); d->pszVal = NULL; } } void MDatabaseCache::FreeCachedVariant(DBVARIANT* V) { - if (( V->type == DBVT_ASCIIZ || V->type == DBVT_UTF8 ) && V->pszVal != NULL ) - HeapFree(m_hCacheHeap,0,V->pszVal); + if ((V->type == DBVT_ASCIIZ || V->type == DBVT_UTF8) && V->pszVal != NULL) + HeapFree(m_hCacheHeap, 0, V->pszVal); } -STDMETHODIMP_(DBVARIANT*) MDatabaseCache::GetCachedValuePtr(HANDLE hContact, char *szSetting, int bAllocate) +STDMETHODIMP_(DBVARIANT*) MDatabaseCache::GetCachedValuePtr(MCONTACT contactID, char *szSetting, int bAllocate) { // a global setting - if ( hContact == 0 ) { + if (contactID == 0) { DBCachedGlobalValue Vtemp, *V; Vtemp.name = szSetting; int index = m_lGlobalSettings.getIndex(&Vtemp); if (index != -1) { V = m_lGlobalSettings[index]; - if ( bAllocate == -1 ) { - FreeCachedVariant( &V->value ); + if (bAllocate == -1) { + FreeCachedVariant(&V->value); m_lGlobalSettings.remove(index); - HeapFree(m_hCacheHeap,0,V); + HeapFree(m_hCacheHeap, 0, V); return NULL; } } else { - if ( bAllocate != 1 ) + if (bAllocate != 1) return NULL; - V = (DBCachedGlobalValue*)HeapAlloc(m_hCacheHeap,HEAP_ZERO_MEMORY,sizeof(DBCachedGlobalValue)); + V = (DBCachedGlobalValue*)HeapAlloc(m_hCacheHeap, HEAP_ZERO_MEMORY, sizeof(DBCachedGlobalValue)); V->name = szSetting; m_lGlobalSettings.insert(V); } @@ -192,14 +200,14 @@ STDMETHODIMP_(DBVARIANT*) MDatabaseCache::GetCachedValuePtr(HANDLE hContact, cha DBCachedContactValue *V, *V1; DBCachedContact VLtemp,*VL; - VLtemp.hContact = hContact; + VLtemp.contactID = contactID; int index = m_lContacts.getIndex(&VLtemp); if (index == -1) { if ( bAllocate != 1 ) return NULL; - VL = AddContactToCache(hContact); + VL = AddContactToCache(contactID); } else VL = m_lContacts[index]; diff --git a/src/modules/protocols/protochains.cpp b/src/modules/protocols/protochains.cpp index 3841d1842f..e14837c18f 100644 --- a/src/modules/protocols/protochains.cpp +++ b/src/modules/protocols/protochains.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern LIST filters; -static int GetProtocolP(HANDLE hContact, char *szBuf, int cbLen) +static int GetProtocolP(MCONTACT hContact, char *szBuf, int cbLen) { if (currDb == NULL) return 1; @@ -69,7 +69,7 @@ INT_PTR CallContactService(HANDLE hContact, const char *szProtoService, WPARAM w } char szProto[40]; - if ( GetProtocolP(hContact, szProto, sizeof(szProto))) + if ( GetProtocolP((MCONTACT)hContact, szProto, sizeof(szProto))) return 1; PROTOACCOUNT *pa = Proto_GetAccount(szProto); @@ -104,7 +104,7 @@ INT_PTR Proto_CallContactService(WPARAM wParam, LPARAM lParam) } char szProto[40]; - if ( GetProtocolP(ccs->hContact, szProto, sizeof(szProto))) + if (GetProtocolP((MCONTACT)ccs->hContact, szProto, sizeof(szProto))) return 1; PROTOACCOUNT *pa = Proto_GetAccount(szProto); @@ -144,7 +144,7 @@ static INT_PTR Proto_RecvChain(WPARAM wParam, LPARAM lParam) //end of chain, call network protocol again char szProto[40]; - if ( GetProtocolP(ccs->hContact, szProto, sizeof(szProto))) + if (GetProtocolP((MCONTACT)ccs->hContact, szProto, sizeof(szProto))) return 1; PROTOACCOUNT *pa = Proto_GetAccount(szProto); @@ -167,7 +167,7 @@ PROTOACCOUNT* __fastcall Proto_GetAccount(HANDLE hContact) return NULL; char szProto[40]; - if ( GetProtocolP(hContact, szProto, sizeof(szProto))) + if (GetProtocolP((MCONTACT)hContact, szProto, sizeof(szProto))) return NULL; return Proto_GetAccount(szProto); @@ -192,7 +192,7 @@ static INT_PTR Proto_IsProtoOnContact(WPARAM wParam, LPARAM lParam) return 0; char szContactProto[40]; - if (!GetProtocolP((HANDLE)wParam, szContactProto, sizeof(szContactProto))) + if (!GetProtocolP(wParam, szContactProto, sizeof(szContactProto))) if (!_stricmp(szProto, szContactProto)) return -1; -- cgit v1.2.3