X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fdb.cpp;h=81d519a72edfe716fc5b7824b780abd220b09100;hb=40e17afbceaa325776356fd4cd7cc2805cd054c2;hp=5005e69394324837a2f3dcc85226b29b122c443c;hpb=2597003ecae774e16e9b2bc31e9dd94738a12d52;p=novacoin.git diff --git a/src/db.cpp b/src/db.cpp index 5005e69..81d519a 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -42,11 +42,7 @@ void CDBEnv::EnvShutdown() DbEnv(0).remove(strPath.c_str(), 0); } -CDBEnv::CDBEnv() : dbenv(DB_CXX_NO_EXCEPTIONS) -{ - fDbEnvInit = false; - fMockDb = false; -} +CDBEnv::CDBEnv() : fDetachDB(false), fDbEnvInit(false), fMockDb(false), dbenv(DB_CXX_NO_EXCEPTIONS) { } CDBEnv::~CDBEnv() { @@ -400,7 +396,8 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip) } Dbc* pcursor = db.GetCursor(); - if (pcursor) + if (pcursor) { + size_t pszSkipLen = strlen(pszSkip); while (fSuccess) { CDataStream ssKey(SER_DISK, CLIENT_VERSION); @@ -418,7 +415,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip) break; } if (pszSkip && - strncmp(&ssKey[0], pszSkip, std::min(ssKey.size(), strlen(pszSkip))) == 0) + strncmp(&ssKey[0], pszSkip, std::min(ssKey.size(), pszSkipLen)) == 0) continue; if (strncmp(&ssKey[0], "\x07version", 8) == 0) { @@ -432,6 +429,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip) if (ret2 > 0) fSuccess = false; } + } if (fSuccess) { db.Close();