Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f61237a1f0 |
@@ -0,0 +1,19 @@
|
||||
package toreader
|
||||
|
||||
import "io"
|
||||
|
||||
type OffsetReader struct {
|
||||
r io.ReaderAt
|
||||
off int64
|
||||
}
|
||||
|
||||
func NewOffsetReader(r io.ReaderAt, off int64) *OffsetReader {
|
||||
return &OffsetReader{
|
||||
r: r,
|
||||
off: off,
|
||||
}
|
||||
}
|
||||
|
||||
func (r OffsetReader) ReadAt(p []byte, off int64) (n int, e error) {
|
||||
return r.r.ReadAt(p, off+r.off)
|
||||
}
|
||||
@@ -6,7 +6,8 @@ type ReaderAt struct {
|
||||
d []byte
|
||||
}
|
||||
|
||||
func NewReaderAt(r io.Reader) (ra ReaderAt, err error) {
|
||||
func NewReaderAt(r io.Reader) (ra *ReaderAt, err error) {
|
||||
ra = new(ReaderAt)
|
||||
ra.d, err = io.ReadAll(r)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -40,6 +40,10 @@ const (
|
||||
ZSTDCompression
|
||||
)
|
||||
|
||||
func NewReaderAtOffset(r io.ReaderAt, off int64) (*Reader, error) {
|
||||
return NewReader(toreader.NewOffsetReader(r, off))
|
||||
}
|
||||
|
||||
// Creates a new squashfs.Reader from the given io.Reader. NOTE: All data from the io.Reader will be read and stored in memory.
|
||||
func NewReaderFromReader(r io.Reader) (*Reader, error) {
|
||||
rdr, err := toreader.NewReaderAt(r)
|
||||
|
||||
Reference in New Issue
Block a user