lib9p

Go 9P library.
Log | Files | Refs | LICENSE

commit 5d8df008aeeaf963b0f5ab9c77c7ec8dc96b8d04
parent 7af35432538fdae5ad2f6b3d4a469e37ea877a65
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Wed, 25 Oct 2023 06:40:34 +0900

change dirfs.File.ReadDir to use os.File.ReadDir, not os.ReadDir

Diffstat:
Mdiskfs/file.go | 23+++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/diskfs/file.go b/diskfs/file.go @@ -2,7 +2,6 @@ package diskfs import ( "fmt" - "io" "io/fs" "os" "os/user" @@ -120,30 +119,18 @@ func (f *File) Read(b []byte) (int, error) { // If it encounters an error before the end of the directory, // ReadDir returns the DirEntry list read until that point and a non-nil error. func (f *File) ReadDir(n int) ([]*lib9p.DirEntry, error) { - ospath := filepath.Join(f.fs.rootPath, f.path) - osde, err := os.ReadDir(ospath) + osde, err := f.file.ReadDir(n) if err != nil { return nil, fmt.Errorf("readdir: %v", err) } - if len(osde) <= f.dirIndex { - return nil, io.EOF - } - de := make([]*lib9p.DirEntry, len(osde) - f.dirIndex) - var m int - if n <= 0 { - m = len(osde) - } else if len(osde) - f.dirIndex > n { - m = f.dirIndex + n - } else { - m = len(osde) - } - for i := f.dirIndex; i < m; i++ { - fi, err := osde[i].Info() + de := make([]*lib9p.DirEntry, len(osde)) + for i, e := range osde { + fi, err := e.Info() if err != nil { return nil, fmt.Errorf("info: %v", err) } id := idFromInfo(fi) - de[i - f.dirIndex] = &lib9p.DirEntry{Stat: *fiStat(f.fs.qidPool, id, fi)} + de[i] = &lib9p.DirEntry{Stat: *fiStat(f.fs.qidPool, id, fi)} } return de, nil }