diff options
author | Brent Baude <bbaude@redhat.com> | 2020-06-02 08:11:31 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-06-02 08:28:08 -0500 |
commit | 70e6b2e6ddd60cd452a8cec682fbea01c93b0cbb (patch) | |
tree | 48d40a21b7d550bb10f4a7e4649ed6e976fae4e6 | |
parent | 2937151e376dd1f44c95af2f94d2a9ca24fb9f86 (diff) | |
download | podman-70e6b2e6ddd60cd452a8cec682fbea01c93b0cbb.tar.gz podman-70e6b2e6ddd60cd452a8cec682fbea01c93b0cbb.tar.bz2 podman-70e6b2e6ddd60cd452a8cec682fbea01c93b0cbb.zip |
make env handling os dependent
environment variables are handled differently on windows vs linux. here we split them to be handled but no actually processing of windows environment variables was done. it can be added for future. hoowever, now we dont get errors on windows about processing them.
Signed-off-by: Brent Baude <bbaude@redhat.com>
-rw-r--r-- | pkg/env/env.go | 13 | ||||
-rw-r--r-- | pkg/env/env_supported.go | 15 | ||||
-rw-r--r-- | pkg/env/env_unsupported.go | 8 |
3 files changed, 23 insertions, 13 deletions
diff --git a/pkg/env/env.go b/pkg/env/env.go index c6a1a0d28..a16007a50 100644 --- a/pkg/env/env.go +++ b/pkg/env/env.go @@ -20,18 +20,6 @@ var DefaultEnvVariables = map[string]string{ const whiteSpaces = " \t" -// ParseSlice parses the specified slice and transforms it into an environment -// map. -func ParseSlice(s []string) (map[string]string, error) { - env := make(map[string]string, len(s)) - for _, e := range s { - if err := parseEnv(env, e); err != nil { - return nil, err - } - } - return env, nil -} - // Slice transforms the specified map of environment variables into a // slice. If a value is non-empty, the key and value are joined with '='. func Slice(m map[string]string) []string { @@ -96,7 +84,6 @@ func parseEnv(env map[string]string, line string) error { if data[0] == "" { return errors.Errorf("invalid environment variable: %q", line) } - // trim the front of a variable, but nothing else name := strings.TrimLeft(data[0], whiteSpaces) if strings.ContainsAny(name, whiteSpaces) { diff --git a/pkg/env/env_supported.go b/pkg/env/env_supported.go new file mode 100644 index 000000000..8be9f9592 --- /dev/null +++ b/pkg/env/env_supported.go @@ -0,0 +1,15 @@ +// +build linux darwin + +package env + +// ParseSlice parses the specified slice and transforms it into an environment +// map. +func ParseSlice(s []string) (map[string]string, error) { + env := make(map[string]string, len(s)) + for _, e := range s { + if err := parseEnv(env, e); err != nil { + return nil, err + } + } + return env, nil +} diff --git a/pkg/env/env_unsupported.go b/pkg/env/env_unsupported.go new file mode 100644 index 000000000..a71c2956d --- /dev/null +++ b/pkg/env/env_unsupported.go @@ -0,0 +1,8 @@ +// +build !linux,!darwin + +package env + +func ParseSlice(s []string) (map[string]string, error) { + m := make(map[string]string) + return m, nil +} |