summaryrefslogtreecommitdiff
path: root/cmd/gen-posix/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/gen-posix/main.go')
-rw-r--r--cmd/gen-posix/main.go28
1 files changed, 23 insertions, 5 deletions
diff --git a/cmd/gen-posix/main.go b/cmd/gen-posix/main.go
index 66a2588..354fd3f 100644
--- a/cmd/gen-posix/main.go
+++ b/cmd/gen-posix/main.go
@@ -1,6 +1,8 @@
package main
import (
+ "bytes"
+ "fmt"
"html/template"
"os"
)
@@ -179,12 +181,28 @@ var tmpl = `{{define "document"}}{{if .}}
</html>
`
-func main() {
- err := template.Must(template.New("page").Parse(tmpl)).Execute(os.Stdout, map[string]interface{}{
+func mainWithError() error {
+ tmpl := template.Must(template.New("page").Parse(tmpl))
+
+ var out bytes.Buffer
+ if err := tmpl.Execute(&out, map[string]interface{}{
"Vendors": Vendors,
"Editions": Editions,
- })
- if err != nil {
- panic(err)
+ }); err != nil {
+ return err
+ }
+ if err := os.WriteFile("public/posix/index.new.html", out.Bytes(), 0666); err != nil {
+ return err
+ }
+ if err := os.Rename("public/posix/index.new.html", "public/posix/index.html"); err != nil {
+ return err
+ }
+ return nil
+}
+
+func main() {
+ if err := mainWithError(); err != nil {
+ fmt.Fprintf(os.Stderr, "%s: error: %v\n", os.Args[0], err)
+ os.Exit(1)
}
}