Skip to content

Commit

Permalink
embed: guarantee the returned file of FS.Open implements io.Seeker
Browse files Browse the repository at this point in the history
Fixes #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>
  • Loading branch information
hajimehoshi committed Sep 10, 2021
1 parent c69f5c0 commit 90c5660
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/embed/embed.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 }

Expand Down

0 comments on commit 90c5660

Please sign in to comment.