diff options
Diffstat (limited to 'client/go/script-utils/startcbinary/progspec.go')
-rw-r--r-- | client/go/script-utils/startcbinary/progspec.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/client/go/script-utils/startcbinary/progspec.go b/client/go/script-utils/startcbinary/progspec.go index 614764e09e8..6679a7e008f 100644 --- a/client/go/script-utils/startcbinary/progspec.go +++ b/client/go/script-utils/startcbinary/progspec.go @@ -39,8 +39,15 @@ func (p *ProgSpec) setenv(k, v string) { p.Env[k] = v } +func (p *ProgSpec) getenv(k string) string { + if v, ok := p.Env[k]; ok { + return v + } + return os.Getenv(k) +} + func (p *ProgSpec) matchesListEnv(envVarName string) bool { - return p.matchesListString(os.Getenv(envVarName)) + return p.matchesListString(p.getenv(envVarName)) } func (p *ProgSpec) matchesListString(env string) bool { @@ -60,11 +67,10 @@ func (p *ProgSpec) matchesListString(env string) bool { } func (p *ProgSpec) valueFromListEnv(envVarName string) string { - return p.valueFromListString(os.Getenv(envVarName)) + return p.valueFromListString(p.getenv(envVarName)) } func (p *ProgSpec) valueFromListString(env string) string { - parts := strings.Fields(env) for _, part := range parts { idx := strings.Index(part, "=") |