mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-03 17:30:25 +01:00
Merge #18165: Consolidate service flag bit-to-name conversion to a shared serviceFlagToStr function
c31bc5bcfdConsolidate service flag bit-to-name conversion to a shared serviceFlagToStr function (Luke Dashjr)cea91a1e40Bugfix: GUI: Use unsigned long long type to avoid implicit conversion of MSB check (Luke Dashjr) Pull request description: Side effect: this results in the RPC showing unknown service bits as "UNKNOWN[n]" like the GUI. Note that there is no common mask-to-`vector<string>` function because both GUI and RPC would need to iterate through it to convert to their desired target formats. ACKs for top commit: jonasschnelli: utACK ~~cea91a1e40e12029140ebfba969ce3ef2965029c~~c31bc5bcfdTree-SHA512: 32c7ba8ac7ef2d4087f4f317447ae93a328ec9fb9ad81301df2fbaeeb21a3db7a503187a369552b05a9414251b7cf8e15bcde74c1ea2ef36591ea7ffb6721f60
This commit is contained in:
@@ -751,33 +751,15 @@ QString formatDurationStr(int secs)
|
||||
return strList.join(" ");
|
||||
}
|
||||
|
||||
QString serviceFlagToStr(const quint64 mask, const int bit)
|
||||
{
|
||||
switch (ServiceFlags(mask)) {
|
||||
case NODE_NONE: abort(); // impossible
|
||||
case NODE_NETWORK: return "NETWORK";
|
||||
case NODE_GETUTXO: return "GETUTXO";
|
||||
case NODE_BLOOM: return "BLOOM";
|
||||
case NODE_WITNESS: return "WITNESS";
|
||||
case NODE_NETWORK_LIMITED: return "NETWORK_LIMITED";
|
||||
// Not using default, so we get warned when a case is missing
|
||||
}
|
||||
if (bit < 8) {
|
||||
return QString("%1[%2]").arg("UNKNOWN").arg(mask);
|
||||
} else {
|
||||
return QString("%1[2^%2]").arg("UNKNOWN").arg(bit);
|
||||
}
|
||||
}
|
||||
|
||||
QString formatServicesStr(quint64 mask)
|
||||
{
|
||||
QStringList strList;
|
||||
|
||||
for (int i = 0; i < 64; i++) {
|
||||
uint64_t check = 1LL << i;
|
||||
uint64_t check = 1ull << i;
|
||||
if (mask & check)
|
||||
{
|
||||
strList.append(serviceFlagToStr(check, i));
|
||||
strList.append(QString::fromStdString(serviceFlagToStr(mask, i)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user