Skip to content

Commit 773f4c9

Browse files
committed
cli -netinfo: handle longer tor v3 local addresses
1 parent 33e9874 commit 773f4c9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/bitcoin-cli.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <util/translation.h>
2121
#include <util/url.h>
2222

23+
#include <algorithm>
2324
#include <functional>
2425
#include <memory>
2526
#include <stdio.h>
@@ -455,12 +456,16 @@ class NetinfoRequestHandler : public BaseRequestHandler
455456

456457
// Report local addresses, ports, and scores.
457458
result += "\nLocal addresses";
458-
const UniValue& local_addrs{networkinfo["localaddresses"]};
459+
const std::vector<UniValue>& local_addrs{networkinfo["localaddresses"].getValues()};
459460
if (local_addrs.empty()) {
460461
result += ": n/a\n";
461462
} else {
462-
for (const UniValue& addr : local_addrs.getValues()) {
463-
result += strprintf("\n%-40i port %5i score %6i", addr["address"].get_str(), addr["port"].get_int(), addr["score"].get_int());
463+
size_t max_addr_size{0};
464+
for (const UniValue& addr : local_addrs) {
465+
max_addr_size = std::max(addr["address"].get_str().length() + 1, max_addr_size);
466+
}
467+
for (const UniValue& addr : local_addrs) {
468+
result += strprintf("\n%-*s port %6i score %6i", max_addr_size, addr["address"].get_str(), addr["port"].get_int(), addr["score"].get_int());
464469
}
465470
}
466471

0 commit comments

Comments
 (0)