aboutsummaryrefslogtreecommitdiff
path: root/src/netaddress.cpp
diff options
context:
space:
mode:
authorVasil Dimov <vd@FreeBSD.org>2020-05-13 18:45:39 +0200
committerVasil Dimov <vd@FreeBSD.org>2020-07-10 14:58:42 +0200
commitbc74a40a56128f81f11151d5966f53b82f19038c (patch)
tree18d0a729bb932d7806c6ebcd8b743a8429313abb /src/netaddress.cpp
parentfd9db45c3ea11e4ee0a610b294496301a051893e (diff)
downloadbitcoin-bc74a40a56128f81f11151d5966f53b82f19038c.tar.xz
net: improve encapsulation of CNetAddr
Do not access `CNetAddr::ip` directly from `CService` methods. This improvement will help later when we change the type of `CNetAddr::ip` (in the BIP155 implementation). Co-authored-by: Carl Dong <contact@carldong.me>
Diffstat (limited to 'src/netaddress.cpp')
-rw-r--r--src/netaddress.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/netaddress.cpp b/src/netaddress.cpp
index 6744391616..0aaba440b8 100644
--- a/src/netaddress.cpp
+++ b/src/netaddress.cpp
@@ -726,12 +726,10 @@ bool CService::GetSockAddr(struct sockaddr* paddr, socklen_t *addrlen) const
*/
std::vector<unsigned char> CService::GetKey() const
{
- std::vector<unsigned char> vKey;
- vKey.resize(18);
- memcpy(vKey.data(), ip, 16);
- vKey[16] = port / 0x100; // most significant byte of our port
- vKey[17] = port & 0x0FF; // least significant byte of our port
- return vKey;
+ auto key = GetAddrBytes();
+ key.push_back(port / 0x100); // most significant byte of our port
+ key.push_back(port & 0x0FF); // least significant byte of our port
+ return key;
}
std::string CService::ToStringPort() const