diff options
Diffstat (limited to 'src/pkg/exec/lp_unix.go')
| -rw-r--r-- | src/pkg/exec/lp_unix.go | 52 | 
1 files changed, 0 insertions, 52 deletions
| diff --git a/src/pkg/exec/lp_unix.go b/src/pkg/exec/lp_unix.go deleted file mode 100644 index 008fb11a8..000000000 --- a/src/pkg/exec/lp_unix.go +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2010 The Go Authors.  All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package exec - -import ( -	"os" -	"strings" -) - -// ErrNotFound is the error resulting if a path search failed to find an executable file. -var ErrNotFound = os.NewError("executable file not found in $PATH") - -func findExecutable(file string) os.Error { -	d, err := os.Stat(file) -	if err != nil { -		return err -	} -	if d.IsRegular() && d.Permission()&0111 != 0 { -		return nil -	} -	return os.EPERM -} - -// LookPath searches for an executable binary named file -// in the directories named by the PATH environment variable. -// If file contains a slash, it is tried directly and the PATH is not consulted. -func LookPath(file string) (string, os.Error) { -	// NOTE(rsc): I wish we could use the Plan 9 behavior here -	// (only bypass the path if file begins with / or ./ or ../) -	// but that would not match all the Unix shells. - -	if strings.Contains(file, "/") { -		err := findExecutable(file) -		if err == nil { -			return file, nil -		} -		return "", &Error{file, err} -	} -	pathenv := os.Getenv("PATH") -	for _, dir := range strings.Split(pathenv, ":") { -		if dir == "" { -			// Unix shell semantics: path element "" means "." -			dir = "." -		} -		if err := findExecutable(dir + "/" + file); err == nil { -			return dir + "/" + file, nil -		} -	} -	return "", &Error{file, ErrNotFound} -} | 
