[c++11] Use std::unique_ptr for block creation.

CreateNewBlock returns a pointer for which the caller takes ownership.
Use std::unique_ptr to make this explicit and simplify handling of these
objects in getblocktemplate.
This commit is contained in:
Daniel Kraft
2016-06-18 19:38:28 +02:00
parent ed2cd59e25
commit 9fce0629b4
5 changed files with 15 additions and 24 deletions

View File

@@ -22,6 +22,8 @@
#include "test/testutil.h"
#include <memory>
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/thread.hpp>
@@ -98,7 +100,7 @@ CBlock
TestChain100Setup::CreateAndProcessBlock(const std::vector<CMutableTransaction>& txns, const CScript& scriptPubKey)
{
const CChainParams& chainparams = Params();
CBlockTemplate *pblocktemplate = BlockAssembler(chainparams).CreateNewBlock(scriptPubKey);
std::unique_ptr<CBlockTemplate> pblocktemplate = BlockAssembler(chainparams).CreateNewBlock(scriptPubKey);
CBlock& block = pblocktemplate->block;
// Replace mempool-selected txns with just coinbase plus passed-in txns:
@@ -115,7 +117,6 @@ TestChain100Setup::CreateAndProcessBlock(const std::vector<CMutableTransaction>&
ProcessNewBlock(state, chainparams, NULL, &block, true, NULL);
CBlock result = block;
delete pblocktemplate;
return result;
}