diff options
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/src/MDatabaseCommon.cpp | 22 | ||||
-rw-r--r-- | src/mir_app/src/mir_app.def | 2 | ||||
-rw-r--r-- | src/mir_app/src/mir_app64.def | 2 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/mir_app/src/MDatabaseCommon.cpp b/src/mir_app/src/MDatabaseCommon.cpp index 59a7e647ba..033cbea2b9 100644 --- a/src/mir_app/src/MDatabaseCommon.cpp +++ b/src/mir_app/src/MDatabaseCommon.cpp @@ -197,12 +197,10 @@ BOOL MDatabaseCommon::MetaDetouchSub(DBCachedContact *cc, int nSub) BOOL MDatabaseCommon::MetaSetDefault(DBCachedContact *cc) { - DBCONTACTWRITESETTING cws; - cws.szModule = META_PROTO; - cws.szSetting = "Default"; - cws.value.type = DBVT_DWORD; - cws.value.dVal = cc->nDefault; - return WriteContactSetting(cc->contactID, &cws); + DBVARIANT dbv; + dbv.type = DBVT_DWORD; + dbv.dVal = cc->nDefault; + return WriteContactSetting(cc->contactID, META_PROTO, "Default", &dbv); } BOOL MDatabaseCommon::MetaRemoveSubHistory(DBCachedContact*) @@ -451,17 +449,17 @@ STDMETHODIMP_(BOOL) MDatabaseCommon::FreeVariant(DBVARIANT *dbv) ///////////////////////////////////////////////////////////////////////////////////////// -STDMETHODIMP_(BOOL) MDatabaseCommon::WriteContactSetting(MCONTACT contactID, DBCONTACTWRITESETTING *dbcws) +STDMETHODIMP_(BOOL) MDatabaseCommon::WriteContactSetting(MCONTACT contactID, const char *szModule, const char *szSetting, DBVARIANT *dbv) { - if (dbcws == nullptr || dbcws->szSetting == nullptr || dbcws->szModule == nullptr) + if (dbv == nullptr || szSetting == nullptr || szModule == nullptr) return 1; // the db format can't tolerate more than 255 bytes of space (incl. null) for settings+module name - size_t settingNameLen = strlen(dbcws->szSetting); - size_t moduleNameLen = strlen(dbcws->szModule); + size_t settingNameLen = strlen(szSetting); + size_t moduleNameLen = strlen(szModule); // used for notifications - DBCONTACTWRITESETTING dbcwNotif = *dbcws; + DBCONTACTWRITESETTING dbcwNotif = {szModule, szSetting, *dbv}; if (dbcwNotif.value.type == DBVT_WCHAR) { if (dbcwNotif.value.pszVal != nullptr) { T2Utf val(dbcwNotif.value.pwszVal); @@ -487,7 +485,7 @@ STDMETHODIMP_(BOOL) MDatabaseCommon::WriteContactSetting(MCONTACT contactID, DBC case DBVT_ASCIIZ: case DBVT_UTF8: - bIsEncrypted = m_bEncrypted || IsSettingEncrypted(dbcws->szModule, dbcws->szSetting); + bIsEncrypted = m_bEncrypted || IsSettingEncrypted(szModule, szSetting); if (dbcwWork.value.pszVal == nullptr) return 1; diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index a7a3b3312b..37f37cec9d 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -740,7 +740,7 @@ _Netlib_GetTlsUnique@12 @831 NONAME ?FilterSearch@Clist@@3V?$CMOption@_N@@A @841 NONAME
?FillContactSettings@MDatabaseCommon@@IAEXXZ @842 NONAME
?GetContactSettingWorker@MDatabaseCommon@@MAGHIPBD0PAUDBVARIANT@@H@Z @843 NONAME
-?WriteContactSetting@MDatabaseCommon@@UAGHIPAUDBCONTACTWRITESETTING@@@Z @844 NONAME
+?WriteContactSetting@MDatabaseCommon@@UAGHIPBD0PAUDBVARIANT@@@Z @844 NONAME
?getCrypt@MDatabaseCommon@@QBEPAUMICryptoEngine@@XZ @845 NONAME
?isEncrypted@MDatabaseCommon@@QBE_NXZ @846 NONAME
?SelectProvider@MDatabaseCommon@@QAEPAUCRYPTO_PROVIDER@@XZ @847 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 7cfbe15e28..9f94234c59 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -740,7 +740,7 @@ Netlib_GetTlsUnique @831 NONAME ?FilterSearch@Clist@@3V?$CMOption@_N@@A @841 NONAME
?FillContactSettings@MDatabaseCommon@@IEAAXXZ @842 NONAME
?GetContactSettingWorker@MDatabaseCommon@@MEAAHIPEBD0PEAUDBVARIANT@@H@Z @843 NONAME
-?WriteContactSetting@MDatabaseCommon@@UEAAHIPEAUDBCONTACTWRITESETTING@@@Z @844 NONAME
+?WriteContactSetting@MDatabaseCommon@@UEAAHIPEBD0PEAUDBVARIANT@@@Z @844 NONAME
?getCrypt@MDatabaseCommon@@QEBAPEAUMICryptoEngine@@XZ @845 NONAME
?isEncrypted@MDatabaseCommon@@QEBA_NXZ @846 NONAME
?SelectProvider@MDatabaseCommon@@QEAAPEAUCRYPTO_PROVIDER@@XZ @847 NONAME
|