Skip to content

Commit aaf6641

Browse files
author
MarcoFalke
committed
Merge bitcoin#21564: net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP
58580a8 net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP (practicalswift) 5858057 net: Add IPv4ToString (we already have IPv6ToString) (practicalswift) Pull request description: Avoid calling `getnameinfo` when formatting IPv4 addresses in `CNetAddr::ToStringIP`. ACKs for top commit: naumenkogs: ACK 58580a8 0xB10C: ACK 58580a8 vasild: ACK 58580a8 Tree-SHA512: 25e3c416acb74908d001baf1cf64c04cbc0d94ce8e7ce5a601f1343062d5d748cb406a3404e6f2b6e7e979c6300b38439e1bfd70ea90ec8c0ec2d7568f09fbcd
2 parents e7776e2 + 58580a8 commit aaf6641

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/netaddress.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,11 @@ enum Network CNetAddr::GetNetwork() const
551551
return m_net;
552552
}
553553

554+
static std::string IPv4ToString(Span<const uint8_t> a)
555+
{
556+
return strprintf("%u.%u.%u.%u", a[0], a[1], a[2], a[3]);
557+
}
558+
554559
static std::string IPv6ToString(Span<const uint8_t> a)
555560
{
556561
assert(a.size() == ADDR_IPV6_SIZE);
@@ -571,6 +576,7 @@ std::string CNetAddr::ToStringIP() const
571576
{
572577
switch (m_net) {
573578
case NET_IPV4:
579+
return IPv4ToString(m_addr);
574580
case NET_IPV6: {
575581
CService serv(*this, 0);
576582
struct sockaddr_storage sockaddr;
@@ -581,9 +587,6 @@ std::string CNetAddr::ToStringIP() const
581587
sizeof(name), nullptr, 0, NI_NUMERICHOST))
582588
return std::string(name);
583589
}
584-
if (m_net == NET_IPV4) {
585-
return strprintf("%u.%u.%u.%u", m_addr[0], m_addr[1], m_addr[2], m_addr[3]);
586-
}
587590
return IPv6ToString(m_addr);
588591
}
589592
case NET_ONION:

0 commit comments

Comments
 (0)