Marvin Preuss
d095180eb4
All checks were successful
continuous-integration/drone/push Build is passing
26 lines
582 B
Go
26 lines
582 B
Go
package env
|
|
|
|
import "strings"
|
|
|
|
func toMap(env []string) map[string]string {
|
|
r := map[string]string{}
|
|
for _, e := range env {
|
|
p := strings.SplitN(e, "=", 2)
|
|
|
|
// On Windows, environment variables can start with '='. If so, Split at next character.
|
|
// See env_windows.go in the Go source: https://github.com/golang/go/blob/master/src/syscall/env_windows.go#L58
|
|
prefixEqualSign := false
|
|
if len(e) > 0 && e[0] == '=' {
|
|
e = e[1:]
|
|
prefixEqualSign = true
|
|
}
|
|
p = strings.SplitN(e, "=", 2)
|
|
if prefixEqualSign {
|
|
p[0] = "=" + p[0]
|
|
}
|
|
|
|
r[p[0]] = p[1]
|
|
}
|
|
return r
|
|
}
|