main.go | 16 +++++++++------- diff --git a/main.go b/main.go index ac48e06abdcb246cd06307166f2b3f19f87a20ef..3714f8eb009067dcb560926c2b3db0dac7d8dcb1 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ package main import ( "bufio" + "crypto/cipher" "crypto/rand" "crypto/sha512" "encoding/base32" @@ -44,10 +45,10 @@ var Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) type Worker struct { - ctr uint64 - buf []byte readyIn chan struct{} readyOut chan struct{} + buf []byte + ctr uint64 last bool } @@ -86,7 +87,7 @@ var err error key := make([]byte, chacha20poly1305.KeySize) if *doGen || *doRNG { - if _, err := io.ReadFull(rand.Reader, key); err != nil { + if _, err = io.ReadFull(rand.Reader, key); err != nil { log.Fatalln(err) } if *doGen { @@ -150,7 +151,8 @@ readyIn: make(chan struct{}), readyOut: make(chan struct{}), } go func() { - ciph, err := chacha20poly1305.New(key) + var ciph cipher.AEAD + ciph, err = chacha20poly1305.New(key) if err != nil { log.Fatalln(err) } @@ -218,12 +220,12 @@ go func() { var ctr int64 var w *Worker - var err error + var errWrite error for { w = workers[ctr%int64(len(workers))] <-w.readyOut - if _, err = os.Stdout.Write(w.buf); err != nil { - log.Fatalln(err) + if _, errWrite = os.Stdout.Write(w.buf); errWrite != nil { + log.Fatalln(errWrite) } w.readyOut <- struct{}{} ctr++