]> Cypherpunks repositories - gostls13.git/commitdiff
syscall,internal/poll: copy arrays by assignment instead of looping
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 2 Nov 2021 00:28:19 +0000 (17:28 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 2 Nov 2021 03:52:33 +0000 (03:52 +0000)
golang.org/x/sys contains similar code and also needs updating.

Change-Id: Id00177397639075d4792eb253829d8042941b70c
Reviewed-on: https://go-review.googlesource.com/c/go/+/360602
Trust: Josh Bleecher Snyder <josharian@gmail.com>
Trust: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/internal/poll/fd_windows.go
src/syscall/syscall_aix.go
src/syscall/syscall_bsd.go
src/syscall/syscall_linux.go
src/syscall/syscall_solaris.go
src/syscall/syscall_windows.go

index 48fcdf306cfe7591adbf0b5a78fc328c678ed76d..d883cd1eccd73a98ffef707fd51e69b2bb3d4d15 100644 (file)
@@ -1102,9 +1102,7 @@ func sockaddrToRaw(sa syscall.Sockaddr) (unsafe.Pointer, int32, error) {
                p := (*[2]byte)(unsafe.Pointer(&raw.Port))
                p[0] = byte(sa.Port >> 8)
                p[1] = byte(sa.Port)
-               for i := 0; i < len(sa.Addr); i++ {
-                       raw.Addr[i] = sa.Addr[i]
-               }
+               raw.Addr = sa.Addr
                return unsafe.Pointer(&raw), int32(unsafe.Sizeof(raw)), nil
        case *syscall.SockaddrInet6:
                var raw syscall.RawSockaddrInet6
@@ -1113,9 +1111,7 @@ func sockaddrToRaw(sa syscall.Sockaddr) (unsafe.Pointer, int32, error) {
                p[0] = byte(sa.Port >> 8)
                p[1] = byte(sa.Port)
                raw.Scope_id = sa.ZoneId
-               for i := 0; i < len(sa.Addr); i++ {
-                       raw.Addr[i] = sa.Addr[i]
-               }
+               raw.Addr = sa.Addr
                return unsafe.Pointer(&raw), int32(unsafe.Sizeof(raw)), nil
        default:
                return nil, 0, syscall.EWINDOWS
index 20e77ac875e584482add6ac67dd5b16cf5303a24..f3b160cae498183429988619d247fea8d6698697 100644 (file)
@@ -255,9 +255,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
 }
 
@@ -270,9 +268,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
        sa.raw.Scope_id = sa.ZoneId
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
 }
 
@@ -443,9 +439,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa := new(SockaddrInet4)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_INET6:
@@ -453,9 +447,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa := new(SockaddrInet6)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
        }
        return nil, EAFNOSUPPORT
index ebe99ff230554193453c59af5af21919dab52813..8945661300cfd5f3f902d69d0364a8d30773da9e 100644 (file)
@@ -167,9 +167,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
 }
 
@@ -183,9 +181,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
        sa.raw.Scope_id = sa.ZoneId
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
 }
 
@@ -214,9 +210,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {
        sa.raw.Nlen = sa.Nlen
        sa.raw.Alen = sa.Alen
        sa.raw.Slen = sa.Slen
-       for i := 0; i < len(sa.raw.Data); i++ {
-               sa.raw.Data[i] = sa.Data[i]
-       }
+       sa.raw.Data = sa.Data
        return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil
 }
 
@@ -232,9 +226,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa.Nlen = pp.Nlen
                sa.Alen = pp.Alen
                sa.Slen = pp.Slen
-               for i := 0; i < len(sa.Data); i++ {
-                       sa.Data[i] = pp.Data[i]
-               }
+               sa.Data = pp.Data
                return sa, nil
 
        case AF_UNIX:
@@ -266,9 +258,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa := new(SockaddrInet4)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_INET6:
@@ -277,9 +267,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
                sa.ZoneId = pp.Scope_id
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
        }
        return nil, EAFNOSUPPORT
index f02fa45a894c1e2dc247cfa20a64a5454803409c..1c6033bbabc1ffbc85e69d9a80e71dd9f09506f1 100644 (file)
@@ -393,9 +393,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
 }
 
@@ -408,9 +406,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
        sa.raw.Scope_id = sa.ZoneId
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
 }
 
@@ -461,9 +457,7 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {
        sa.raw.Hatype = sa.Hatype
        sa.raw.Pkttype = sa.Pkttype
        sa.raw.Halen = sa.Halen
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
 }
 
@@ -502,9 +496,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa.Hatype = pp.Hatype
                sa.Pkttype = pp.Pkttype
                sa.Halen = pp.Halen
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_UNIX:
@@ -537,9 +529,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa := new(SockaddrInet4)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_INET6:
@@ -548,9 +538,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
                sa.ZoneId = pp.Scope_id
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
        }
        return nil, EAFNOSUPPORT
index dedfbd03c08f7f212cfc66d006a2ce93f49f7bf6..13616fca9d3f9900a028652c0d31db5f1a65862d 100644 (file)
@@ -69,9 +69,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
 }
 
@@ -84,9 +82,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
        sa.raw.Scope_id = sa.ZoneId
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
 }
 
@@ -304,9 +300,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                sa := new(SockaddrInet4)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_INET6:
@@ -315,9 +309,7 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
                sa.ZoneId = pp.Scope_id
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
        }
        return nil, EAFNOSUPPORT
index d4e51e541d1f09bb75c1497ad175f5f37c73e78c..a8a78b9ef84a252a66a38393a53bc16b737b30d3 100644 (file)
@@ -738,9 +738,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) {
        p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil
 }
 
@@ -760,9 +758,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) {
        p[0] = byte(sa.Port >> 8)
        p[1] = byte(sa.Port)
        sa.raw.Scope_id = sa.ZoneId
-       for i := 0; i < len(sa.Addr); i++ {
-               sa.raw.Addr[i] = sa.Addr[i]
-       }
+       sa.raw.Addr = sa.Addr
        return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil
 }
 
@@ -835,9 +831,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) {
                sa := new(SockaddrInet4)
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
 
        case AF_INET6:
@@ -846,9 +840,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) {
                p := (*[2]byte)(unsafe.Pointer(&pp.Port))
                sa.Port = int(p[0])<<8 + int(p[1])
                sa.ZoneId = pp.Scope_id
-               for i := 0; i < len(sa.Addr); i++ {
-                       sa.Addr[i] = pp.Addr[i]
-               }
+               sa.Addr = pp.Addr
                return sa, nil
        }
        return nil, EAFNOSUPPORT