aboutsummaryrefslogtreecommitdiff
path: root/src/os/exec/lp_windows.go
diff options
context:
space:
mode:
authorCarlos Amedee <carlos@golang.org>2026-01-21 15:45:40 -0500
committerCarlos Amedee <carlos@golang.org>2026-01-21 15:56:01 -0500
commiteec3c0ca956803db8a90dfd92ce4ebffebdaf9b4 (patch)
tree14ed37a5aa0fd9e80b547fd43086b2b137457726 /src/os/exec/lp_windows.go
parent4606a931d2b099f2c5e5619b797352607ee42225 (diff)
parent2baa1d17628bb2f09757617382b1e61f1f9f0ddd (diff)
downloadgo-eec3c0ca956803db8a90dfd92ce4ebffebdaf9b4.tar.xz
[release-branch.go1.26] all: merge master (2baa1d1) into release-branch.go1.26
For #76474. Change-Id: Ic50e288f99b731b62af9aa73ce6721f0f2f3596d
Diffstat (limited to 'src/os/exec/lp_windows.go')
-rw-r--r--src/os/exec/lp_windows.go26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/os/exec/lp_windows.go b/src/os/exec/lp_windows.go
index 74537dec68..f58aabc19f 100644
--- a/src/os/exec/lp_windows.go
+++ b/src/os/exec/lp_windows.go
@@ -56,22 +56,12 @@ func findExecutable(file string, exts []string) (string, error) {
return "", ErrNotFound
}
-// LookPath searches for an executable named file in the
-// directories named by the PATH environment variable.
-// LookPath also uses PATHEXT environment variable to match
-// a suitable candidate.
-// If file contains a slash, it is tried directly and the PATH is not consulted.
-// Otherwise, on success, the result is an absolute path.
-//
-// In older versions of Go, LookPath could return a path relative to the current directory.
-// As of Go 1.19, LookPath will instead return that path along with an error satisfying
-// [errors.Is](err, [ErrDot]). See the package documentation for more details.
-func LookPath(file string) (string, error) {
+func lookPath(file string) (string, error) {
if err := validateLookPath(file); err != nil {
return "", &Error{file, err}
}
- return lookPath(file, pathExt())
+ return lookPathExts(file, pathExt())
}
// lookExtensions finds windows executable by its dir and path.
@@ -101,17 +91,17 @@ func lookExtensions(path, dir string) (string, error) {
}
}
if dir == "" {
- return lookPath(path, exts)
+ return lookPathExts(path, exts)
}
if filepath.VolumeName(path) != "" {
- return lookPath(path, exts)
+ return lookPathExts(path, exts)
}
if len(path) > 1 && os.IsPathSeparator(path[0]) {
- return lookPath(path, exts)
+ return lookPathExts(path, exts)
}
dirandpath := filepath.Join(dir, path)
// We assume that LookPath will only add file extension.
- lp, err := lookPath(dirandpath, exts)
+ lp, err := lookPathExts(dirandpath, exts)
if err != nil {
return "", err
}
@@ -138,8 +128,8 @@ func pathExt() []string {
return exts
}
-// lookPath implements LookPath for the given PATHEXT list.
-func lookPath(file string, exts []string) (string, error) {
+// lookPathExts implements LookPath for the given PATHEXT list.
+func lookPathExts(file string, exts []string) (string, error) {
if strings.ContainsAny(file, `:\/`) {
f, err := findExecutable(file, exts)
if err == nil {