Make decompressor conditional on reader interface

This commit is contained in:
kortschak 2014-08-08 21:27:17 +09:30
parent 088e73a163
commit 844927ff1f
2 changed files with 33 additions and 17 deletions

View file

@ -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
}