diff options
| author | Ben Woosley <[email protected]> | 2018-11-24 20:49:08 -0600 |
|---|---|---|
| committer | Ben Woosley <[email protected]> | 2018-11-24 21:05:48 -0600 |
| commit | 4a86a0acd9ac3ca392f0584a5fd079a856e5e4ba (patch) | |
| tree | 33c6ddfc06796a2b7e5bb98da1076969c02c5080 /src/wallet/db.h | |
| parent | Introduce SafeDbt to handle DB_DBT_MALLOC raii-style (diff) | |
| download | discoin-4a86a0acd9ac3ca392f0584a5fd079a856e5e4ba.tar.xz discoin-4a86a0acd9ac3ca392f0584a5fd079a856e5e4ba.zip | |
Make SafeDbt DB_DBT_MALLOC on default initialization
If we're constructing the SafeDbt without provided data, it is always malloced,
so that is the case we expose.
Also run clang-format.
Diffstat (limited to 'src/wallet/db.h')
| -rw-r--r-- | src/wallet/db.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/wallet/db.h b/src/wallet/db.h index 73cbff98f..25e1cdafa 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -170,13 +170,15 @@ private: class BerkeleyBatch { /** RAII class that automatically cleanses its data on destruction */ - class SafeDbt final { + class SafeDbt final + { Dbt m_dbt; public: - // construct Dbt with data or flags - SafeDbt(u_int32_t flags = 0); - SafeDbt(void *data, size_t size); + // construct Dbt with internally-managed data + SafeDbt(); + // construct Dbt with provided data + SafeDbt(void* data, size_t size); ~SafeDbt(); // delegate to Dbt @@ -227,7 +229,7 @@ public: SafeDbt datKey(ssKey.data(), ssKey.size()); // Read - SafeDbt datValue(DB_DBT_MALLOC); + SafeDbt datValue; int ret = pdb->get(activeTxn, datKey, datValue, 0); bool success = false; if (datValue.get_data() != nullptr) { @@ -318,8 +320,8 @@ public: int ReadAtCursor(Dbc* pcursor, CDataStream& ssKey, CDataStream& ssValue) { // Read at cursor - SafeDbt datKey(DB_DBT_MALLOC); - SafeDbt datValue(DB_DBT_MALLOC); + SafeDbt datKey; + SafeDbt datValue; int ret = pcursor->get(datKey, datValue, DB_NEXT); if (ret != 0) return ret; |