void init_blockindex(leveldb::Options& options, bool fRemoveOld = false) {
// First time init.
- filesystem::path directory = GetDataDir() / "txleveldb";
+ boost::filesystem::path directory = GetDataDir() / "txleveldb";
if (fRemoveOld) {
- filesystem::remove_all(directory); // remove directory
+ boost::filesystem::remove_all(directory); // remove directory
unsigned int nFile = 1;
- while (true)
+ for ( ; ; )
{
- filesystem::path strBlockFile = GetDataDir() / strprintf("blk%04u.dat", nFile);
+ boost::filesystem::path strBlockFile = GetDataDir() / strprintf("blk%04u.dat", nFile);
// Break if no such file
- if( !filesystem::exists( strBlockFile ) )
+ if( !boost::filesystem::exists( strBlockFile ) )
break;
- filesystem::remove(strBlockFile);
+ boost::filesystem::remove(strBlockFile);
nFile++;
}
}
- filesystem::create_directory(directory);
+ boost::filesystem::create_directory(directory);
printf("Opening LevelDB in %s\n", directory.string().c_str());
leveldb::Status status = leveldb::DB::Open(options, directory.string(), &txdb);
if (!status.ok()) {
return (*mi).second;
// Create new
- CBlockIndex* pindexNew = new CBlockIndex();
+ CBlockIndex* pindexNew = new(nothrow) CBlockIndex();
if (!pindexNew)
throw runtime_error("LoadBlockIndex() : new CBlockIndex failed");
mi = mapBlockIndex.insert(make_pair(hash, pindexNew)).first;