// 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 | |
var executablePath string // set by ../runtime/os_darwin.go | |
var initCwd, initCwdErr = Getwd() | |
func executable() (string, error) { | |
ep := executablePath | |
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 | |
} |