MCPcopy Create free account
hub / github.com/foxcpp/maddy / expandEnvironment

Function expandEnvironment

framework/cfgparser/env.go:27–47  ·  view source on GitHub ↗
(nodes []Node)

Source from the content-addressed store, hash-verified

25)
26
27func expandEnvironment(nodes []Node) []Node {
28 // If nodes is nil - don't replace with empty slice, as nil indicates "no
29 // block".
30 if nodes == nil {
31 return nil
32 }
33
34 replacer := buildEnvReplacer()
35 newNodes := make([]Node, 0, len(nodes))
36 for _, node := range nodes {
37 node.Name = removeUnexpandedEnvvars(replacer.Replace(node.Name))
38 newArgs := make([]string, 0, len(node.Args))
39 for _, arg := range node.Args {
40 newArgs = append(newArgs, removeUnexpandedEnvvars(replacer.Replace(arg)))
41 }
42 node.Args = newArgs
43 node.Children = expandEnvironment(node.Children)
44 newNodes = append(newNodes, node)
45 }
46 return newNodes
47}
48
49var unixEnvvarRe = regexp.MustCompile(`{env:([^\$]+)}`)
50

Callers 1

ReadFunction · 0.85

Calls 2

buildEnvReplacerFunction · 0.85
removeUnexpandedEnvvarsFunction · 0.85

Tested by

no test coverage detected