]> Cypherpunks repositories - gostls13.git/commitdiff
os: implement fs.StatFS for os.DirFS
authorCharlie Moog <moogcharlie@gmail.com>
Thu, 25 Mar 2021 00:17:03 +0000 (19:17 -0500)
committerIan Lance Taylor <iant@golang.org>
Tue, 6 Apr 2021 04:48:09 +0000 (04:48 +0000)
Change-Id: I1d7382bf522aeda7148431b348f6ab9a162be097
Reviewed-on: https://go-review.googlesource.com/c/go/+/304531
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Robert Griesemer <gri@golang.org>

src/os/file.go

index ebeb0d0ac9c625fc444d55d0e5df8af7df4b9643..e717f171e72580330de5f8ced30de0a24edc331c 100644 (file)
@@ -651,6 +651,17 @@ func (dir dirFS) Open(name string) (fs.File, error) {
        return f, nil
 }
 
+func (dir dirFS) Stat(name string) (fs.FileInfo, error) {
+       if !fs.ValidPath(name) || runtime.GOOS == "windows" && containsAny(name, `\:`) {
+               return nil, &PathError{Op: "stat", Path: name, Err: ErrInvalid}
+       }
+       f, err := Stat(string(dir) + "/" + name)
+       if err != nil {
+               return nil, err
+       }
+       return f, nil
+}
+
 // ReadFile reads the named file and returns the contents.
 // A successful call returns err == nil, not err == EOF.
 // Because ReadFile reads the whole file, it does not treat an EOF from Read