1234567891011121314151617181920212223242526272829 |
- // Copyright 2016 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 os
- import "errors"
- var executablePath string // set by ../runtime/os_darwin.go
- var initCwd, initCwdErr = Getwd()
- func executable() (string, error) {
- ep := executablePath
- if len(ep) == 0 {
- return ep, errors.New("cannot find executable path")
- }
- if ep[0] != '/' {
- if initCwdErr != nil {
- return ep, initCwdErr
- }
- if len(ep) > 2 && ep[0:2] == "./" {
- // skip "./"
- ep = ep[2:]
- }
- ep = initCwd + "/" + ep
- }
- return ep, nil
- }
|