]> Cypherpunks repositories - gostls13.git/commitdiff
net: fix WriteTo on Plan 9
authorMikio Hara <mikioh.mikioh@gmail.com>
Tue, 21 Apr 2015 14:15:12 +0000 (23:15 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Wed, 22 Apr 2015 00:11:30 +0000 (00:11 +0000)
This change excludes internal UDP header size from a result of number of
bytes written on WriteTo.

Change-Id: I847d57f7f195657b6f14efdf1b4cfab13d4490dd
Reviewed-on: https://go-review.googlesource.com/9196
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: David du Colombier <0intro@gmail.com>
src/net/udpsock_plan9.go

index 4749dab8f1babcdf90ae69ad0a0d38734e13ea6d..8acbb2016374efebfecd17a45619509cf250e290 100644 (file)
@@ -86,11 +86,10 @@ func (c *UDPConn) WriteToUDP(b []byte, addr *UDPAddr) (int, error) {
        buf := make([]byte, udpHeaderSize+len(b))
        i := copy(buf, h.Bytes())
        copy(buf[i:], b)
-       n, err := c.fd.data.Write(buf)
-       if err != nil {
-               err = &OpError{Op: "write", Net: c.fd.dir, Addr: addr, Err: err}
+       if _, err := c.fd.data.Write(buf); err != nil {
+               return 0, &OpError{Op: "write", Net: c.fd.dir, Addr: addr, Err: err}
        }
-       return n, err
+       return len(b), nil
 }
 
 // WriteTo implements the PacketConn WriteTo method.