File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -13,5 +13,13 @@ type FileInfo struct {
13
13
14
14
// GetInfo extracts some non-standardized items from the result of a Stat call.
15
15
func GetInfo (fi os.FileInfo ) * FileInfo {
16
- return getInfo (fi )
16
+ sys := fi .Sys ()
17
+ switch v := sys .(type ) {
18
+ case FileInfo :
19
+ return & v
20
+ case * FileInfo :
21
+ return v
22
+ default :
23
+ return getOSFileInfo (fi )
24
+ }
17
25
}
Original file line number Diff line number Diff line change 9
9
"golang.org/x/sys/unix"
10
10
)
11
11
12
- func getInfo (info os.FileInfo ) * FileInfo {
12
+ func getOSFileInfo (info os.FileInfo ) * FileInfo {
13
13
fi := & FileInfo {}
14
14
if s , ok := info .Sys ().(* syscall.Stat_t ); ok {
15
15
fi .Nlink = uint32 (s .Nlink )
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ package file
4
4
5
5
import "os"
6
6
7
- func getInfo (info os.FileInfo ) * FileInfo {
7
+ func getOSFileInfo (info os.FileInfo ) * FileInfo {
8
8
// https://godoc.org/golang.org/x/sys/windows#GetFileInformationByHandle
9
9
// can be potentially used to populate Nlink
10
10
You can’t perform that action at this time.
0 commit comments