aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2013-06-22 16:03:11 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2013-06-22 16:14:26 +0200
commit067a6092ac33b503a645af6b65c400ee1e7e0e4a (patch)
tree9f6d53234bfca320dfc7d81a18b4559f5ecb553a /src
parent905738a15aa68c39e32bc5b9bbde53a9610dc818 (diff)
downloadbitcoin-067a6092ac33b503a645af6b65c400ee1e7e0e4a.tar.xz
Initialize database before checking changed txindex
In case no database exists yet, and -txindex(=1) is passed, we currently first check whether fTxIndex differs from -txindex (and ask the user to reindex in that case), and only afterwards initialize the database. By swapping these around (the initialization is a no-op in case the database already exists), we allow it to be born in txindex mode, without warning. That also means we don't need to check -reindex anymore, as the wiping/reinit of the databases happens before checking.
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/init.cpp b/src/init.cpp
index fe74cd6963..53c2703d26 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -744,18 +744,18 @@ bool AppInit2(boost::thread_group& threadGroup)
if (!mapBlockIndex.empty() && pindexGenesisBlock == NULL)
return InitError(_("Incorrect or no genesis block found. Wrong datadir for network?"));
- // Check for changed -txindex state (only necessary if we are not reindexing anyway)
- if (!fReindex && fTxIndex != GetBoolArg("-txindex", false)) {
- strLoadError = _("You need to rebuild the database using -reindex to change -txindex");
- break;
- }
-
// Initialize the block index (no-op if non-empty database was already loaded)
if (!InitBlockIndex()) {
strLoadError = _("Error initializing block database");
break;
}
+ // Check for changed -txindex state
+ if (fTxIndex != GetBoolArg("-txindex", false)) {
+ strLoadError = _("You need to rebuild the database using -reindex to change -txindex");
+ break;
+ }
+
uiInterface.InitMessage(_("Verifying blocks..."));
if (!VerifyDB()) {
strLoadError = _("Corrupted block database detected");