]> Cypherpunks repositories - gostls13.git/commitdiff
crypto/tls: fix WriteTo method signature
authorJosh Bleecher Snyder <josharian@gmail.com>
Sat, 9 Jul 2016 20:59:36 +0000 (13:59 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 16 Aug 2016 14:36:19 +0000 (14:36 +0000)
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 <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/crypto/tls/handshake_test.go

index f95f274ab415909f4ce3f838eb779f1856b136a9..ed218588d36f782c3e767fe24e03ce426f31e82e 100644 (file)
@@ -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) {