aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-06-02 08:11:31 -0500
committerBrent Baude <bbaude@redhat.com>2020-06-02 08:28:08 -0500
commit70e6b2e6ddd60cd452a8cec682fbea01c93b0cbb (patch)
tree48d40a21b7d550bb10f4a7e4649ed6e976fae4e6
parent2937151e376dd1f44c95af2f94d2a9ca24fb9f86 (diff)
downloadpodman-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.go13
-rw-r--r--pkg/env/env_supported.go15
-rw-r--r--pkg/env/env_unsupported.go8
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
+}