Make decompressor conditional on reader interface
This commit is contained in:
parent
088e73a163
commit
844927ff1f
2 changed files with 33 additions and 17 deletions
13
cayley.go
13
cayley.go
|
|
@ -217,14 +217,13 @@ const (
|
|||
b2zipMagic = "BZh"
|
||||
)
|
||||
|
||||
type readAtReader interface {
|
||||
io.Reader
|
||||
io.ReaderAt
|
||||
}
|
||||
|
||||
func decompressor(r readAtReader) (io.Reader, error) {
|
||||
func decompressor(r io.Reader) (io.Reader, error) {
|
||||
ra, ok := r.(io.ReaderAt)
|
||||
if !ok {
|
||||
return r, nil
|
||||
}
|
||||
var buf [3]byte
|
||||
_, err := r.ReadAt(buf[:], 0)
|
||||
_, err := ra.ReadAt(buf[:], 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue