// 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 }