90d4d89230
-BEGIN VERIFY SCRIPT- sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp -END VERIFY SCRIPT-
32 lines
870 B
C++
32 lines
870 B
C++
// Copyright (c) 2009-2016 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#include "checkpoints.h"
|
|
|
|
#include "chain.h"
|
|
#include "chainparams.h"
|
|
#include "reverse_iterator.h"
|
|
#include "validation.h"
|
|
#include "uint256.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
namespace Checkpoints {
|
|
|
|
CBlockIndex* GetLastCheckpoint(const CCheckpointData& data)
|
|
{
|
|
const MapCheckpoints& checkpoints = data.mapCheckpoints;
|
|
|
|
for (const MapCheckpoints::value_type& i : reverse_iterate(checkpoints))
|
|
{
|
|
const uint256& hash = i.second;
|
|
BlockMap::const_iterator t = mapBlockIndex.find(hash);
|
|
if (t != mapBlockIndex.end())
|
|
return t->second;
|
|
}
|
|
return nullptr;
|
|
}
|
|
|
|
} // namespace Checkpoints
|