aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/app/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/app/errors.go')
-rw-r--r--internal/app/errors.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/internal/app/errors.go b/internal/app/errors.go
index 6b5cffe4..5a490f90 100644
--- a/internal/app/errors.go
+++ b/internal/app/errors.go
@@ -8,7 +8,9 @@ import (
"git.gensokyo.uk/security/fortify/internal/fmsg"
)
-func PrintRunStateErr(rs *fst.RunState, runErr error) {
+func PrintRunStateErr(rs *fst.RunState, runErr error) (code int) {
+ code = rs.ExitStatus()
+
if runErr != nil {
if rs.Time == nil {
fmsg.PrintBaseError(runErr, "cannot start app:")
@@ -49,8 +51,8 @@ func PrintRunStateErr(rs *fst.RunState, runErr error) {
}
}
- if rs.ExitCode == 0 {
- rs.ExitCode = 126
+ if code == 0 {
+ code = 126
}
}
@@ -97,13 +99,14 @@ func PrintRunStateErr(rs *fst.RunState, runErr error) {
}
out:
- if rs.ExitCode == 0 {
- rs.ExitCode = 128
+ if code == 0 {
+ code = 128
}
}
if rs.WaitErr != nil {
- log.Println("inner wait failed:", rs.WaitErr)
+ fmsg.Verbosef("wait: %v", rs.WaitErr)
}
+ return
}
// StateStoreError is returned for a failed state save
@@ -121,7 +124,7 @@ type StateStoreError struct {
}
// save saves arbitrary errors in [StateStoreError] once.
-func (e *StateStoreError) save(errs []error) {
+func (e *StateStoreError) save(errs ...error) {
if len(errs) == 0 || e.Err != nil {
panic("invalid call to save")
}