diff options
Diffstat (limited to 'src/pkg/net/tcpsock.go')
-rw-r--r-- | src/pkg/net/tcpsock.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/pkg/net/tcpsock.go b/src/pkg/net/tcpsock.go index 4d9ebd214..f3dfbd23d 100644 --- a/src/pkg/net/tcpsock.go +++ b/src/pkg/net/tcpsock.go @@ -18,10 +18,18 @@ func (a *TCPAddr) String() string { if a == nil { return "<nil>" } + ip := ipEmptyString(a.IP) if a.Zone != "" { - return JoinHostPort(a.IP.String()+"%"+a.Zone, itoa(a.Port)) + return JoinHostPort(ip+"%"+a.Zone, itoa(a.Port)) } - return JoinHostPort(a.IP.String(), itoa(a.Port)) + return JoinHostPort(ip, itoa(a.Port)) +} + +func (a *TCPAddr) toAddr() Addr { + if a == nil { + return nil + } + return a } // ResolveTCPAddr parses addr as a TCP address of the form "host:port" @@ -42,5 +50,5 @@ func ResolveTCPAddr(net, addr string) (*TCPAddr, error) { if err != nil { return nil, err } - return a.(*TCPAddr), nil + return a.toAddr().(*TCPAddr), nil } |