-
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathreader.go
More file actions
37 lines (31 loc) · 648 Bytes
/
reader.go
File metadata and controls
37 lines (31 loc) · 648 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package squashfs
import (
"io"
"time"
"github.com/CalebQ42/squashfs/internal/toreader"
squashfslow "github.com/CalebQ42/squashfs/low"
)
type Reader struct {
FS
Low squashfslow.Reader
}
func NewReader(r io.ReaderAt) (Reader, error) {
rdr, err := squashfslow.NewReader(r)
if err != nil {
return Reader{}, err
}
out := Reader{
Low: rdr,
}
out.FS = FS{
LowDir: rdr.Root,
r: &out,
}
return out, nil
}
func NewReaderAtOffset(r io.ReaderAt, offset int64) (Reader, error) {
return NewReader(toreader.NewOffsetReader(r, offset))
}
func (r *Reader) ModTime() time.Time {
return time.Unix(int64(r.Low.Superblock.ModTime), 0)
}