lib9p

Go 9P library.
Log | Files | Refs

commit 78da58212bee01c5e92b43dca36cbff535a4a230
parent 4e7a750c0706beff489848216ad32c9fc16f6fe3
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sun, 10 Sep 2023 07:56:01 +0900

add type assertion

Diffstat:
Amnt/0 | 2++
Amnt/1 | 2++
Amnt/2 | 2++
Amnt/3 | 2++
Mserver.go | 6+++++-
5 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/mnt/0 b/mnt/0 @@ -0,0 +1 @@ +0 +\ No newline at end of file diff --git a/mnt/1 b/mnt/1 @@ -0,0 +1 @@ +1 +\ No newline at end of file diff --git a/mnt/2 b/mnt/2 @@ -0,0 +1 @@ +2 +\ No newline at end of file diff --git a/mnt/3 b/mnt/3 @@ -0,0 +1 @@ +3 +\ No newline at end of file diff --git a/server.go b/server.go @@ -329,7 +329,11 @@ func sRead(s *Server, r *Req) { n += len(buf) } } else { - n, err = fid.File.(io.ReaderAt).ReadAt(data, int64(ifcall.Offset())) + if r, ok := fid.File.(io.ReaderAt); ok { + n, err = r.ReadAt(data, int64(ifcall.Offset())) + } else { + n, err = fid.File.Read(data) + } if err != io.EOF && err != nil { log.Printf("sRead: %v\n", err) respond(r, err)