aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra Umiker <cat@ophivana.moe>2024-10-10 11:03:31 +0900
committerOphestra Umiker <cat@ophivana.moe>2024-10-10 11:03:31 +0900
commit2220055e26bff8b426ebf086d09ba242e5180e76 (patch)
tree9e66c82b9978bf217f4ff01036a592b7b06e989b /internal
parentf4c44a9441dea0054f9e4b20c2a3e8e71d9fde8f (diff)
state/simple: prefix store path
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal')
-rw-r--r--internal/state/print.go9
-rw-r--r--internal/state/simple.go5
2 files changed, 6 insertions, 8 deletions
diff --git a/internal/state/print.go b/internal/state/print.go
index 5ad7cacd..8de5a59d 100644
--- a/internal/state/print.go
+++ b/internal/state/print.go
@@ -1,6 +1,7 @@
package state
import (
+ "errors"
"fmt"
"os"
"path"
@@ -9,18 +10,16 @@ import (
"text/tabwriter"
"time"
- "git.ophivana.moe/cat/fortify/internal"
"git.ophivana.moe/cat/fortify/internal/verbose"
)
// MustPrintLauncherStateSimpleGlobal prints active launcher states of all simple stores
// in an implementation-specific way.
-func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer) {
- sc := internal.GetSC()
+func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer, runDir string) {
now := time.Now().UTC()
// read runtime directory to get all UIDs
- if dirs, err := os.ReadDir(sc.RunDirPath); err != nil {
+ if dirs, err := os.ReadDir(path.Join(runDir, "state")); err != nil && !errors.Is(err, os.ErrNotExist) {
fmt.Println("cannot read runtime directory:", err)
os.Exit(1)
} else {
@@ -38,7 +37,7 @@ func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer) {
}
// obtain temporary store
- s := NewSimple(sc.RunDirPath, e.Name()).(*simpleStore)
+ s := NewSimple(runDir, e.Name()).(*simpleStore)
// print states belonging to this store
s.mustPrintLauncherState(w, now)
diff --git a/internal/state/simple.go b/internal/state/simple.go
index a18d1523..ad3e4726 100644
--- a/internal/state/simple.go
+++ b/internal/state/simple.go
@@ -211,9 +211,8 @@ func (b *simpleBackend) Len() (int, error) {
}
// NewSimple returns an instance of a file-based store.
-// Store prefix is typically (runDir, uid).
-func NewSimple(prefix ...string) Store {
+func NewSimple(runDir string, prefix ...string) Store {
b := new(simpleStore)
- b.path = prefix
+ b.path = append([]string{runDir, "state"}, prefix...)
return b
}