summaryrefslogtreecommitdiff
path: root/src/lib/net/net_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-12-09 10:57:55 -0800
committerRuss Cox <rsc@golang.org>2008-12-09 10:57:55 -0800
commit2a6a6a917ab745ffc5c916213e8339f642212b80 (patch)
tree5a5c1565a284cc6f82528756b98d3d08b97af803 /src/lib/net/net_linux.go
parent677e5c5780e88b5f75df2340db6d1faa164ab6cc (diff)
downloadgolang-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.go11
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