diff options
author | Hajime Hoshi <hajimehoshi@gmail.com> | 2021-04-26 22:32:21 +0900 |
---|---|---|
committer | Hajime Hoshi <hajimehoshi@gmail.com> | 2021-09-10 13:30:50 +0000 |
commit | 90c5660616d7f006ca62adfec49310bf40e3b354 (patch) | |
tree | 2d52a952783400a830dfe7eac896244ad637925a | |
parent | c69f5c0d7632381dfc6dc78f0af4f54e7673176d (diff) | |
download | go-90c5660616d7f006ca62adfec49310bf40e3b354.tar.gz go-90c5660616d7f006ca62adfec49310bf40e3b354.zip |
embed: guarantee the returned file of FS.Open implements io.Seeker
Fixes golang/go#45745
Change-Id: Ib49a9605a38074f544a5d28116862e191cea8c0f
Reviewed-on: https://go-review.googlesource.com/c/go/+/313352
Run-TryBot: Hajime Hoshi <hajimehoshi@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Than McIntosh <thanm@google.com>
-rw-r--r-- | src/embed/embed.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/embed/embed.go b/src/embed/embed.go index 5dcd7f227d..f87cc5b963 100644 --- a/src/embed/embed.go +++ b/src/embed/embed.go @@ -291,6 +291,8 @@ func (f FS) readDir(dir string) []file { } // Open opens the named file for reading and returns it as an fs.File. +// +// The returned file implements io.Seeker when the file is not a directory. func (f FS) Open(name string) (fs.File, error) { file := f.lookup(name) if file == nil { @@ -338,6 +340,10 @@ type openFile struct { offset int64 // current read offset } +var ( + _ io.Seeker = (*openFile)(nil) +) + func (f *openFile) Close() error { return nil } func (f *openFile) Stat() (fs.FileInfo, error) { return f.f, nil } |