Create the containing directory if it fails

This commit is contained in:
comp500 2019-09-17 21:52:23 +01:00
parent 3aa604de42
commit 6c24be9f46

View File

@ -6,6 +6,7 @@ import (
"errors" "errors"
"io" "io"
"os" "os"
"path/filepath"
"github.com/BurntSushi/toml" "github.com/BurntSushi/toml"
) )
@ -76,8 +77,15 @@ func (m *Mod) SetMetaName(metaName string) string {
func (m Mod) Write() (string, string, error) { func (m Mod) Write() (string, string, error) {
f, err := os.Create(m.metaFile) f, err := os.Create(m.metaFile)
if err != nil { if err != nil {
// Attempt to create the containing directory
err2 := os.MkdirAll(filepath.Dir(m.metaFile), os.ModePerm)
if err2 == nil {
f, err = os.Create(m.metaFile)
}
if err == nil {
return "sha256", "", err return "sha256", "", err
} }
}
defer f.Close() defer f.Close()
h := sha256.New() h := sha256.New()