diff options
author | Matt Corallo <matt@bluematt.me> | 2011-07-05 03:06:19 +0200 |
---|---|---|
committer | Matt Corallo <matt@bluematt.me> | 2011-07-05 18:36:01 +0200 |
commit | 7ec552676c66488fe00fb503d02ec4a389a715b7 (patch) | |
tree | 6791d8dd85e2aaa82ee7b2396b123716ccd093f2 /src/db.cpp | |
parent | 9390431ce49893cbdf23846edb4bdf72b3d4e830 (diff) |
Add minversion to wallet.
Diffstat (limited to 'src/db.cpp')
-rw-r--r-- | src/db.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/db.cpp b/src/db.cpp index f044355a35..9e13727ae7 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -670,7 +670,7 @@ void CWalletDB::ListAccountCreditDebit(const string& strAccount, list<CAccountin } -bool CWalletDB::LoadWallet(CWallet* pwallet) +int CWalletDB::LoadWallet(CWallet* pwallet) { pwallet->vchDefaultKey.clear(); int nFileVersion = 0; @@ -690,7 +690,7 @@ bool CWalletDB::LoadWallet(CWallet* pwallet) // Get cursor Dbc* pcursor = GetCursor(); if (!pcursor) - return false; + return DB_CORRUPT; loop { @@ -701,7 +701,7 @@ bool CWalletDB::LoadWallet(CWallet* pwallet) if (ret == DB_NOTFOUND) break; else if (ret != 0) - return false; + return DB_CORRUPT; // Unserialize // Taking advantage of the fact that pair serialization @@ -809,6 +809,13 @@ bool CWalletDB::LoadWallet(CWallet* pwallet) if (strKey == "addrProxy") ssValue >> addrProxy; if (fHaveUPnP && strKey == "fUseUPnP") ssValue >> fUseUPnP; } + else if (strType == "minversion") + { + int nMinVersion = 0; + ssValue >> nMinVersion; + if (nMinVersion > VERSION) + return DB_TOO_NEW; + } } pcursor->close(); } @@ -839,7 +846,7 @@ bool CWalletDB::LoadWallet(CWallet* pwallet) } - return true; + return DB_LOAD_OK; } void ThreadFlushWalletDB(void* parg) |