simplified error handling in Encrypt()
This commit is contained in:
parent
8ed3bff6db
commit
088f1e9ca2
2 changed files with 10 additions and 7 deletions
|
@ -164,7 +164,15 @@ func (e *Encryptor) Encrypt(rd io.Reader, wr io.Writer) error {
|
||||||
var eof bool
|
var eof bool
|
||||||
for !eof {
|
for !eof {
|
||||||
n, err := io.ReadAtLeast(rd, buf, int(e.ChunkSize))
|
n, err := io.ReadAtLeast(rd, buf, int(e.ChunkSize))
|
||||||
eof = err == io.EOF || err == io.ErrClosedPipe || err == io.ErrUnexpectedEOF
|
if err != nil {
|
||||||
|
switch err {
|
||||||
|
case io.EOF, io.ErrClosedPipe, io.ErrUnexpectedEOF:
|
||||||
|
eof = true
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("encrypt: I/O read error: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if n >= 0 {
|
if n >= 0 {
|
||||||
err = e.encrypt(buf[:n], wr, i, eof)
|
err = e.encrypt(buf[:n], wr, i, eof)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -172,11 +180,6 @@ func (e *Encryptor) Encrypt(rd io.Reader, wr io.Writer) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
i++
|
i++
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil && err != io.EOF && err != io.ErrClosedPipe {
|
|
||||||
return fmt.Errorf("encrypt: I/O read error: %s", err)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
2
version
2
version
|
@ -1 +1 @@
|
||||||
0.8.0
|
0.8.1
|
||||||
|
|
Loading…
Add table
Reference in a new issue