diff options
author | MikalaiR <nikolay.romanovich@narod.ru> | 2016-02-27 16:42:21 +0000 |
---|---|---|
committer | MikalaiR <nikolay.romanovich@narod.ru> | 2016-02-27 16:42:21 +0000 |
commit | 2297d8f2a8749ea9ffebbd13cdd9e903932fa3c8 (patch) | |
tree | bfd22140e28738aadc909b545046101b219746ed /plugins/Dbx_mdb/src/dbcrypt.cpp | |
parent | 60f69a369747444ced2209bcf19ab0a379acc681 (diff) |
git-svn-id: http://svn.miranda-ng.org/main/trunk@16366 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Dbx_mdb/src/dbcrypt.cpp')
-rw-r--r-- | plugins/Dbx_mdb/src/dbcrypt.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/plugins/Dbx_mdb/src/dbcrypt.cpp b/plugins/Dbx_mdb/src/dbcrypt.cpp index 31d7f69dda..e55d7f38aa 100644 --- a/plugins/Dbx_mdb/src/dbcrypt.cpp +++ b/plugins/Dbx_mdb/src/dbcrypt.cpp @@ -34,22 +34,31 @@ CRYPTO_PROVIDER* CDbxMdb::SelectProvider() CRYPTO_PROVIDER **ppProvs, *pProv;
int iNumProvs;
Crypto_EnumProviders(&iNumProvs, &ppProvs);
+
if (iNumProvs == 0)
return nullptr;
+ bool bTotalCrypt = false;
+
if (iNumProvs > 1)
{
CSelectCryptoDialog dlg(ppProvs, iNumProvs);
dlg.DoModal();
pProv = dlg.GetSelected();
+ bTotalCrypt = dlg.TotalSelected();
}
else pProv = ppProvs[0];
for (;; Remap())
{
txn_ptr txn(m_pMdbEnv);
+
MDB_val key = { sizeof(DBKEY_PROVIDER), DBKEY_PROVIDER }, value = { mir_strlen(pProv->pszName) + 1, pProv->pszName };
- mdb_put(txn, m_dbCrypto, &key, &value, 0);
+ MDB_CHECK(mdb_put(txn, m_dbCrypto, &key, &value, 0), nullptr);
+
+ key.mv_size = sizeof(DBKEY_IS_ENCRYPTED); key.mv_data = DBKEY_IS_ENCRYPTED; value.mv_size = sizeof(bool); value.mv_data = &bTotalCrypt;
+ MDB_CHECK(mdb_put(txn, m_dbCrypto, &key, &value, 0), nullptr);
+
if (txn.commit())
break;
}
|