mox/moxio/atreader.go
Mechiel Lukkien cb229cb6cf
mox!
2023-01-30 14:27:06 +01:00

20 lines
324 B
Go

package moxio
import (
"io"
)
// AtReader is turns an io.ReaderAt into a io.Reader by keeping track of the
// offset.
type AtReader struct {
R io.ReaderAt
Offset int64
}
func (r *AtReader) Read(buf []byte) (int, error) {
n, err := r.R.ReadAt(buf, r.Offset)
if n > 0 {
r.Offset += int64(n)
}
return n, err
}