Blob


1 package fs
3 import (
4 "io"
5 "io/fs"
6 )
8 type dirInfo struct {
9 entries []fs.DirEntry
10 entryp int
11 }
13 func (d *dirInfo) ReadDir(n int) ([]fs.DirEntry, error) {
14 entries := d.entries[d.entryp:]
15 if n < 0 {
16 d.entryp = len(d.entries) // advance to the end
17 if len(entries) == 0 {
18 return nil, nil
19 }
20 return entries, nil
21 }
23 var err error
24 if n >= len(entries) {
25 err = io.EOF
26 } else if d.entryp >= len(d.entries) {
27 err = io.EOF
28 } else {
29 entries = entries[:n-1]
30 }
31 d.entryp += n
32 return entries, err
33 }