diff options
Diffstat (limited to 'src/PeerMessageUtil.cc')
| -rw-r--r-- | src/PeerMessageUtil.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/PeerMessageUtil.cc b/src/PeerMessageUtil.cc index 0665939f..eb526407 100644 --- a/src/PeerMessageUtil.cc +++ b/src/PeerMessageUtil.cc @@ -135,3 +135,11 @@ bool PeerMessageUtil::createcompact(char* compact, const string& addr, uint16_t return true; } +pair<string, uint16_t> PeerMessageUtil::unpackcompact(const char* compact) +{ + struct in_addr in; + in.s_addr = *(uint32_t*)(compact); + string ipaddr = inet_ntoa(in); + uint16_t port = ntohs(*(uint16_t*)(compact+sizeof(uint32_t))); + return pair<string, uint16_t>(ipaddr, port); +} |
