]> Cypherpunks.ru repositories - gostls13.git/commitdiff
internal/poll, net: use (*FD).SetsockoptInet4Addr in setIPv4MulticastInterface on...
authorTobias Klauser <tklauser@distanz.ch>
Tue, 29 Aug 2023 11:52:07 +0000 (13:52 +0200)
committerDamien Neil <dneil@google.com>
Wed, 30 Aug 2023 19:09:46 +0000 (19:09 +0000)
Change-Id: Ic29d15bf62d8e693ca969354b415d958823bf41d
Reviewed-on: https://go-review.googlesource.com/c/go/+/523915
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
src/internal/poll/sockopt_windows.go
src/net/sockoptip_windows.go

index dd5fb70babd38a098a052e174c4b1f82a91e2242..f32bca4f0fe17142f42f38e973f73cf432841477 100644 (file)
@@ -6,15 +6,6 @@ package poll
 
 import "syscall"
 
-// Setsockopt wraps the setsockopt network call.
-func (fd *FD) Setsockopt(level, optname int32, optval *byte, optlen int32) error {
-       if err := fd.incref(); err != nil {
-               return err
-       }
-       defer fd.decref()
-       return syscall.Setsockopt(fd.Sysfd, level, optname, optval, optlen)
-}
-
 // WSAIoctl wraps the WSAIoctl network call.
 func (fd *FD) WSAIoctl(iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *syscall.Overlapped, completionRoutine uintptr) error {
        if err := fd.incref(); err != nil {
index 62676039a3b0a528770f8ab37298a9cb27c29dee..9dfa37c51e974c97811f857301c9bdf7bf227f79 100644 (file)
@@ -8,7 +8,6 @@ import (
        "os"
        "runtime"
        "syscall"
-       "unsafe"
 )
 
 func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error {
@@ -18,7 +17,7 @@ func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error {
        }
        var a [4]byte
        copy(a[:], ip.To4())
-       err = fd.pfd.Setsockopt(syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, (*byte)(unsafe.Pointer(&a[0])), 4)
+       err = fd.pfd.SetsockoptInet4Addr(syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, a)
        runtime.KeepAlive(fd)
        return wrapSyscallError("setsockopt", err)
 }