16ef5838c3
This is largely a move to simplify a lot of the readers Also further breaks out functions.
24 lines
348 B
Go
24 lines
348 B
Go
package toreader
|
|
|
|
import "io"
|
|
|
|
type ReaderAt struct {
|
|
d []byte
|
|
}
|
|
|
|
func NewReaderAt(r io.Reader) (ra ReaderAt, err error) {
|
|
ra.d, err = io.ReadAll(r)
|
|
return
|
|
}
|
|
|
|
func (r ReaderAt) ReadAt(p []byte, off int64) (n int, err error) {
|
|
if int(off) >= len(r.d) {
|
|
return 0, io.EOF
|
|
}
|
|
n = copy(p, r.d[off:])
|
|
if n != len(p) {
|
|
err = io.EOF
|
|
}
|
|
return
|
|
}
|