From: Josh Bleecher Snyder Date: Sat, 9 Jul 2016 20:59:36 +0000 (-0700) Subject: crypto/tls: fix WriteTo method signature X-Git-Tag: go1.8beta1~1855 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=6d2db0986faef807e8538db6f3d32adb0dfd78c5;p=gostls13.git crypto/tls: fix WriteTo method signature Give *recordingConn the correct WriteTo signature to be an io.WriterTo. This makes vet happy. It also means that it'll report errors, which were previously being ignored. Updates #11041 Change-Id: I13f171407d63f4b62427679bff362eb74faddca5 Reviewed-on: https://go-review.googlesource.com/27121 Run-TryBot: Josh Bleecher Snyder Reviewed-by: Brad Fitzpatrick --- diff --git a/src/crypto/tls/handshake_test.go b/src/crypto/tls/handshake_test.go index f95f274ab4..ed218588d3 100644 --- a/src/crypto/tls/handshake_test.go +++ b/src/crypto/tls/handshake_test.go @@ -88,21 +88,33 @@ func (r *recordingConn) Write(b []byte) (n int, err error) { } // WriteTo writes Go source code to w that contains the recorded traffic. -func (r *recordingConn) WriteTo(w io.Writer) { +func (r *recordingConn) WriteTo(w io.Writer) (int64, error) { // TLS always starts with a client to server flow. clientToServer := true - + var written int64 for i, flow := range r.flows { source, dest := "client", "server" if !clientToServer { source, dest = dest, source } - fmt.Fprintf(w, ">>> Flow %d (%s to %s)\n", i+1, source, dest) + n, err := fmt.Fprintf(w, ">>> Flow %d (%s to %s)\n", i+1, source, dest) + written += int64(n) + if err != nil { + return written, err + } dumper := hex.Dumper(w) - dumper.Write(flow) - dumper.Close() + n, err = dumper.Write(flow) + written += int64(n) + if err != nil { + return written, err + } + err = dumper.Close() + if err != nil { + return written, err + } clientToServer = !clientToServer } + return written, nil } func parseTestData(r io.Reader) (flows [][]byte, err error) {