diff options
author | Russ Cox <rsc@golang.org> | 2008-12-09 10:57:55 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2008-12-09 10:57:55 -0800 |
commit | 2a6a6a917ab745ffc5c916213e8339f642212b80 (patch) | |
tree | 5a5c1565a284cc6f82528756b98d3d08b97af803 /src/lib/net/net_linux.go | |
parent | 677e5c5780e88b5f75df2340db6d1faa164ab6cc (diff) | |
download | golang-2a6a6a917ab745ffc5c916213e8339f642212b80.tar.gz |
replace assembly casts with unsafe.pointer
R=r
DELTA=178 (18 added, 101 deleted, 59 changed)
OCL=20822
CL=20826
Diffstat (limited to 'src/lib/net/net_linux.go')
-rw-r--r-- | src/lib/net/net_linux.go | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/net/net_linux.go b/src/lib/net/net_linux.go index a7c1ecc00..1ae4e9a5b 100644 --- a/src/lib/net/net_linux.go +++ b/src/lib/net/net_linux.go @@ -7,7 +7,8 @@ package net import ( "os"; "syscall"; - "net" + "net"; + "unsafe"; ) export func IPv4ToSockaddr(p *[]byte, port int) (sa1 *syscall.Sockaddr, err *os.Error) { @@ -22,7 +23,7 @@ export func IPv4ToSockaddr(p *[]byte, port int) (sa1 *syscall.Sockaddr, err *os. for i := 0; i < IPv4len; i++ { sa.addr[i] = p[i] } - return syscall.SockaddrInet4ToSockaddr(sa), nil + return unsafe.pointer(sa).(*syscall.Sockaddr), nil } var IPv6zero [16]byte; @@ -47,20 +48,20 @@ export func IPv6ToSockaddr(p *[]byte, port int) (sa1 *syscall.Sockaddr, err *os. for i := 0; i < IPv6len; i++ { sa.addr[i] = p[i] } - return syscall.SockaddrInet6ToSockaddr(sa), nil + return unsafe.pointer(sa).(*syscall.Sockaddr), nil } export func SockaddrToIP(sa1 *syscall.Sockaddr) (p *[]byte, port int, err *os.Error) { switch sa1.family { case syscall.AF_INET: - sa := syscall.SockaddrToSockaddrInet4(sa1); + sa := unsafe.pointer(sa1).(*syscall.SockaddrInet4); a := ToIPv6(&sa.addr); if a == nil { return nil, 0, os.EINVAL } return a, int(sa.port[0])<<8 + int(sa.port[1]), nil; case syscall.AF_INET6: - sa := syscall.SockaddrToSockaddrInet6(sa1); + sa := unsafe.pointer(sa1).(*syscall.SockaddrInet6); a := ToIPv6(&sa.addr); if a == nil { return nil, 0, os.EINVAL |