diff options
Diffstat (limited to 'internal/app/outcome.go')
| -rw-r--r-- | internal/app/outcome.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/internal/app/outcome.go b/internal/app/outcome.go index 4daa8da6..e294d948 100644 --- a/internal/app/outcome.go +++ b/internal/app/outcome.go @@ -2,6 +2,7 @@ package app import ( "errors" + "maps" "strconv" "hakurei.app/container" @@ -163,7 +164,7 @@ type outcomeStateSys struct { *outcomeState } -// outcomeState returns the address of a new outcomeStateSys embedding the current outcomeState. +// newSys returns the address of a new outcomeStateSys embedding the current outcomeState. func (s *outcomeState) newSys(config *hst.Config, sys *system.I) *outcomeStateSys { return &outcomeStateSys{ appId: config.ID, et: config.Enablements.Unwrap(), @@ -173,6 +174,17 @@ func (s *outcomeState) newSys(config *hst.Config, sys *system.I) *outcomeStateSy } } +// newParams returns the address of a new outcomeStateParams embedding the current outcomeState. +func (s *outcomeState) newParams() *outcomeStateParams { + stateParams := outcomeStateParams{params: new(container.Params), outcomeState: s} + if s.Container.Env == nil { + stateParams.env = make(map[string]string, envAllocSize) + } else { + stateParams.env = maps.Clone(s.Container.Env) + } + return &stateParams +} + // ensureRuntimeDir must be called if access to paths within XDG_RUNTIME_DIR is required. func (state *outcomeStateSys) ensureRuntimeDir() { if state.useRuntimeDir { |
