diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-10-14 20:54:19 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-10-14 20:54:19 -0700 |
| commit | b139a9ab417c53e6e0eed3438858d5e29d4cd10b (patch) | |
| tree | e4f9bd125ad559f52cf3a0ca0a30deb59e912136 /internal | |
| parent | Avoid an extra copy in ASCII decode (diff) | |
| download | sym-b139a9ab417c53e6e0eed3438858d5e29d4cd10b.tar.zst | |
Avoid even more copies in ascii decode
This way the contents get written directly into the base64 decoder's
internal buffer, instead of first being buffered inside
the bufio.Reader.
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/sym/dec.go | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/internal/sym/dec.go b/internal/sym/dec.go index 93130a4..d9480bb 100644 --- a/internal/sym/dec.go +++ b/internal/sym/dec.go @@ -32,7 +32,7 @@ func decryptBinary(w io.Writer, r io.Reader, password string) error { } func decrypt(w io.Writer, r io.Reader, password string) error { - bufReader := bufio.NewReader(r) + bufReader := bufio.NewReaderSize(r, 81) b, err := bufReader.Peek(1) if err != nil { if err == io.EOF { @@ -47,10 +47,7 @@ func decrypt(w io.Writer, r io.Reader, password string) error { return errors.New("invalid input") } for { - _, err := bufReader.ReadBytes('\n') - if err != nil { - return err - } + bufReader.ReadLine() if b, err := bufReader.Peek(1); err != nil || b[0] != '-' { break } |
