mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-13 14:53:46 +00:00
Return address in pure IPv4 notation by getAddrString if IPv6 address is IPv4-mapped.
This commit is contained in:
@@ -339,6 +339,8 @@ proc getAddrString*(sockAddr: ptr SockAddr): string =
|
||||
var v6addr = cast[ptr Sockaddr_in6](sockAddr).sin6_addr
|
||||
result = newString(posix.INET6_ADDRSTRLEN)
|
||||
discard posix.inet_ntop(posix.AF_INET6, addr cast[ptr Sockaddr_in6](sockAddr).sin6_addr, result.cstring, result.len.int32)
|
||||
if posix.IN6_IS_ADDR_V4MAPPED(addr cast[ptr Sockaddr_in6](sockAddr).sin6_addr) != 0:
|
||||
result = result.substr("::ffff:".len)
|
||||
else:
|
||||
raise newException(OSError, "unknown socket family in getAddrString")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user