moth

Monarch Of The Hill game server
git clone https://git.woozle.org/neale/moth.git

commit
7c5b5b5
parent
dfecd10
author
Neale Pickett
date
2024-04-09 11:54:39 -0600 MDT
Make all paths absolute

Fixes #200
2 files changed,  +24, -6
M .gitignore
+2, -2
1@@ -5,6 +5,6 @@
2 __debug_bin
3 *.tar.gz
4 transpile
5-mothd
6 winmoth.*.zip
7-*.exe
8+/mothd
9+/*.exe
M cmd/mothd/main.go
+22, -4
 1@@ -6,6 +6,7 @@ import (
 2 	"log"
 3 	"mime"
 4 	"os"
 5+	"path/filepath"
 6 	"time"
 7 
 8 	"github.com/spf13/afero"
 9@@ -54,21 +55,38 @@ func main() {
10 	)
11 	flag.Parse()
12 
13+	var theme *Theme
14 	osfs := afero.NewOsFs()
15-	theme := NewTheme(afero.NewBasePathFs(osfs, *themePath))
16+	if p, err := filepath.Abs(*themePath); err != nil {
17+		log.Fatal(err)
18+	} else {
19+		theme = NewTheme(afero.NewBasePathFs(osfs, p))
20+	}
21 
22 	config := Configuration{}
23 
24 	var provider PuzzleProvider
25-	provider = NewMothballs(afero.NewBasePathFs(osfs, *mothballPath))
26+	if p, err := filepath.Abs(*mothballPath); err != nil {
27+		log.Fatal(err)
28+	} else {
29+		provider = NewMothballs(afero.NewBasePathFs(osfs, p))
30+	}
31 	if *puzzlePath != "" {
32-		provider = NewTranspilerProvider(afero.NewBasePathFs(osfs, *puzzlePath))
33+		if p, err := filepath.Abs(*puzzlePath); err != nil {
34+			log.Fatal(err)
35+		} else {
36+			provider = NewTranspilerProvider(afero.NewBasePathFs(osfs, p))
37+		}
38 		config.Devel = true
39 		log.Println("-=- You are in development mode, champ! -=-")
40 	}
41 
42 	var state StateProvider
43-	state = NewState(afero.NewBasePathFs(osfs, *statePath))
44+	if p, err := filepath.Abs(*statePath); err != nil {
45+		log.Fatal(err)
46+	} else {
47+		state = NewState(afero.NewBasePathFs(osfs, p))
48+	}
49 	if config.Devel {
50 		state = NewDevelState(state)
51 	}