mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 23:09:44 -04:00
Avoid the use of abs64 in timedata
Github-Pull: #20141
Rebased-From: d1292f25f2
This commit is contained in:
parent
5b2de04e7f
commit
0b64310fb6
1 changed files with 5 additions and 9 deletions
|
@ -37,11 +37,6 @@ int64_t GetAdjustedTime()
|
||||||
return GetTime() + GetTimeOffset();
|
return GetTime() + GetTimeOffset();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64_t abs64(int64_t n)
|
|
||||||
{
|
|
||||||
return (n >= 0 ? n : -n);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
|
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
|
||||||
|
|
||||||
void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
||||||
|
@ -81,8 +76,8 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
||||||
int64_t nMedian = vTimeOffsets.median();
|
int64_t nMedian = vTimeOffsets.median();
|
||||||
std::vector<int64_t> vSorted = vTimeOffsets.sorted();
|
std::vector<int64_t> vSorted = vTimeOffsets.sorted();
|
||||||
// Only let other nodes change our time by so much
|
// Only let other nodes change our time by so much
|
||||||
if (abs64(nMedian) <= std::max<int64_t>(0, gArgs.GetArg("-maxtimeadjustment", DEFAULT_MAX_TIME_ADJUSTMENT)))
|
int64_t max_adjustment = std::max<int64_t>(0, gArgs.GetArg("-maxtimeadjustment", DEFAULT_MAX_TIME_ADJUSTMENT));
|
||||||
{
|
if (nMedian >= -max_adjustment && nMedian <= max_adjustment) {
|
||||||
nTimeOffset = nMedian;
|
nTimeOffset = nMedian;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -94,9 +89,10 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
|
||||||
{
|
{
|
||||||
// If nobody has a time different than ours but within 5 minutes of ours, give a warning
|
// If nobody has a time different than ours but within 5 minutes of ours, give a warning
|
||||||
bool fMatch = false;
|
bool fMatch = false;
|
||||||
for (const int64_t nOffset : vSorted)
|
for (const int64_t nOffset : vSorted) {
|
||||||
if (nOffset != 0 && abs64(nOffset) < 5 * 60)
|
if (nOffset != 0 && nOffset > -5 * 60 && nOffset < 5 * 60)
|
||||||
fMatch = true;
|
fMatch = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!fMatch)
|
if (!fMatch)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue