diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-12-18 13:45:55 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-12-18 13:45:55 +0900 |
| commit | b752ec44689aa5a3a0f3b9672b218691f161c7c1 (patch) | |
| tree | b514cb0c247f8deaa9feba84d9f8944623911f5d /internal/state/print.go | |
| parent | 5d00805a7c775382516e05b5b01e58df651408ab (diff) | |
fipc: export config struct
Also store full config as part of state.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal/state/print.go')
| -rw-r--r-- | internal/state/print.go | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/internal/state/print.go b/internal/state/print.go index 174f0693..c747c04e 100644 --- a/internal/state/print.go +++ b/internal/state/print.go @@ -82,27 +82,41 @@ func (s *simpleStore) mustPrintLauncherState(w **tabwriter.Writer, now time.Time continue } - // build enablements string - ets := strings.Builder{} - // append enablement strings in order - for i := system.Enablement(0); i < system.Enablement(system.ELen); i++ { - if state.Capability.Has(i) { - ets.WriteString(", " + i.String()) + // build enablements and command string + var ( + ets *strings.Builder + cs = "(No command information)" + ) + + // check if enablements are provided + if state.Config != nil { + ets = new(strings.Builder) + // append enablement strings in order + for i := system.Enablement(0); i < system.Enablement(system.ELen); i++ { + if state.Config.Confinement.Enablements.Has(i) { + ets.WriteString(", " + i.String()) + } } + + cs = fmt.Sprintf("%q", state.Config.Command) } - // prevent an empty string when - if ets.Len() == 0 { - ets.WriteString("(No enablements)") + if ets != nil { + // prevent an empty string + if ets.Len() == 0 { + ets.WriteString("(No enablements)") + } + } else { + ets = new(strings.Builder) + ets.WriteString("(No confinement information)") } if !fmsg.Verbose() { _, _ = fmt.Fprintf(*w, "\t%d\t%s\t%s\t%s\t%s\n", - state.PID, s.path[len(s.path)-1], now.Sub(state.Time).Round(time.Second).String(), strings.TrimPrefix(ets.String(), ", "), - state.Command) + state.PID, s.path[len(s.path)-1], now.Sub(state.Time).Round(time.Second).String(), strings.TrimPrefix(ets.String(), ", "), cs) } else { // emit argv instead when verbose _, _ = fmt.Fprintf(*w, "\t%d\t%s\t%s\n", - state.PID, s.path[len(s.path)-1], state.Argv) + state.PID, s.path[len(s.path)-1], state.ID) } } |
