commit cefa3217834dcb1590b562f7365bcc5eed199b3f
parent ca0063c278bd0379f726fd36a8454eaed6f1b759
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 7 Sep 2023 10:14:33 +0900
update numfs.go
Diffstat:
| M | cmd/numfs.go | | | 76 | +++++++++++++++++++++++++++++++++++++--------------------------------------- |
1 file changed, 37 insertions(+), 39 deletions(-)
diff --git a/cmd/numfs.go b/cmd/numfs.go
@@ -60,7 +60,42 @@ type numFile struct {
}
func (f *numFile) Stat() (fs.FileInfo, error) {
- return &lib9p.FileInfo{Stat: *lib9p.StatFromFile(f)}, nil
+ var stat lib9p.Stat
+ stat.Type = 0
+ stat.Dev = 0
+ if f.id == -1 {
+ stat.Qid = lib9p.Qid{
+ Type: lib9p.QTDIR,
+ Vers: 0,
+ Path: ^uint64(0),
+ }
+ } else {
+ stat.Qid = lib9p.Qid{
+ Type: lib9p.QTFILE,
+ Vers: 0,
+ Path: uint64(f.id),
+ }
+ }
+ var mode lib9p.FileMode
+ if f.id == -1 {
+ mode |= lib9p.DMDIR
+ }
+ mode |= 0444
+ stat.Mode = mode
+ stat.Atime = 0
+ stat.Mtime = 0
+ var length int64
+ if f.id == -1 {
+ length = 0
+ } else {
+ length = int64(len(f.text))
+ }
+ stat.Length = length
+ stat.Name = fmt.Sprintf("%d", f.id)
+ stat.Uid = "kenji"
+ stat.Gid = "kenji"
+ stat.Muid = "kenji"
+ return &lib9p.FileInfo{stat}, nil
}
func (f *numFile) Read(p []byte) (int, error) {
@@ -81,43 +116,7 @@ func (f *numFile) PathName() string {
}
return f.text
}
-func (f *numFile) Type() uint16 { return 0 }
-func (f *numFile) Dev() uint32 { return 0 }
-func (f *numFile) Qid() lib9p.Qid {
- if f.id == -1 {
- return lib9p.Qid{
- Type: lib9p.QTDIR,
- Vers: 0,
- Path: ^uint64(0),
- }
- }
- return lib9p.Qid{
- Type: lib9p.QTFILE,
- Vers: 0,
- Path: uint64(f.id),
- }
-}
-func (f *numFile) Mode() lib9p.FileMode {
- var mode lib9p.FileMode
- if f.id == -1 {
- mode |= lib9p.DMDIR
- }
- mode |= 0444
- return mode
-}
-func (f *numFile) Atime() uint32 { return 0 }
-func (f *numFile) Mtime() uint32 { return 0 }
-func (f *numFile) Length() int64 {
- if f.id == -1 {
- return 0
- } else {
- return int64(len(f.text))
- }
-}
-func (f *numFile) Name() string { return fmt.Sprintf("%d", f.id) }
-func (f *numFile) Uid() string { return "kenji" }
-func (f *numFile) Gid() string { return "kenji" }
-func (f *numFile) Muid() string { return "kenji" }
+
func (f *numFile) ReadAt(p []byte, off int64) (n int, err error) {
return bytes.NewReader([]byte(f.text)).ReadAt(p, off)
}
@@ -131,7 +130,6 @@ func (f *numFile) ReadDir(n int) ([]*lib9p.DirEntry, error) {
}
de := make([]*lib9p.DirEntry, n)
for i := 0; i < len(root.children) && i < n; i++ {
- log.Printf("ReadDir: %d\n", i)
stat, err := root.children[i].Stat()
if err != nil {
return de, err