Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0f8a4e0027 |
@@ -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)
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/CalebQ42/squashfs/internal/toreader"
|
||||||
squashfslow "github.com/CalebQ42/squashfs/low"
|
squashfslow "github.com/CalebQ42/squashfs/low"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -27,6 +28,10 @@ func NewReader(r io.ReaderAt) (*Reader, error) {
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewReaderAtOffset(r io.ReaderAt, offset int64) (*Reader, error) {
|
||||||
|
return NewReader(toreader.NewOffsetReader(r, offset))
|
||||||
|
}
|
||||||
|
|
||||||
func (r *Reader) ModTime() time.Time {
|
func (r *Reader) ModTime() time.Time {
|
||||||
return time.Unix(int64(r.Low.Superblock.ModTime), 0)
|
return time.Unix(int64(r.Low.Superblock.ModTime), 0)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user