diff options
author | qmuntal <quimmuntal@gmail.com> | 2024-03-11 18:16:16 +0100 |
---|---|---|
committer | Quim Muntal <quimmuntal@gmail.com> | 2024-03-13 19:10:34 +0000 |
commit | 418e6d559e80e9d53e4a4c94656e8fb4bf72b343 (patch) | |
tree | bd76a1f7ab9e3488f0ba64a7021f4787694ce04b /src/os | |
parent | 381ba9f64cce0e40889d0eec3efef4ca9bb0cf26 (diff) | |
download | go-418e6d559e80e9d53e4a4c94656e8fb4bf72b343.tar.gz go-418e6d559e80e9d53e4a4c94656e8fb4bf72b343.zip |
os,internal/godebugs: add missing IncNonDefault calls
Fixes #66215
Change-Id: Id7de15feabe08f66c048dc114c09494813c9febc
Reviewed-on: https://go-review.googlesource.com/c/go/+/570695
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/os')
-rw-r--r-- | src/os/file_windows.go | 1 | ||||
-rw-r--r-- | src/os/types_windows.go | 13 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/os/file_windows.go b/src/os/file_windows.go index 49fdd8d44d..fcdb5f2e8f 100644 --- a/src/os/file_windows.go +++ b/src/os/file_windows.go @@ -378,6 +378,7 @@ func normaliseLinkPath(path string) (string, error) { if winreadlinkvolume.Value() != "0" { return `\\?\` + path[4:], nil } + winreadlinkvolume.IncNonDefault() h, err := openSymlink(path) if err != nil { diff --git a/src/os/types_windows.go b/src/os/types_windows.go index c4a8721924..16042fea51 100644 --- a/src/os/types_windows.go +++ b/src/os/types_windows.go @@ -161,10 +161,19 @@ func (fs *fileStat) Size() int64 { var winsymlink = godebug.New("winsymlink") -func (fs *fileStat) Mode() (m FileMode) { +func (fs *fileStat) Mode() FileMode { + m := fs.mode() if winsymlink.Value() == "0" { - return fs.modePreGo1_23() + old := fs.modePreGo1_23() + if old != m { + winsymlink.IncNonDefault() + m = old + } } + return m +} + +func (fs *fileStat) mode() (m FileMode) { if fs.FileAttributes&syscall.FILE_ATTRIBUTE_READONLY != 0 { m |= 0444 } else { |