diff --git a/configfile.go b/configfile.go index 30f1c6b..9e1ffab 100644 --- a/configfile.go +++ b/configfile.go @@ -15,21 +15,24 @@ func Path(fileExtension string) (string, error) { paths := []string{ filepath.Join("/etc/", executableName, configFileName), filepath.Join("/etc/", configFileName), - filepath.Join("etc", configFileName), filepath.Join(userConfigDir, executableName, configFileName), filepath.Join(userConfigDir, configFileName), filepath.Clean(configFileName), } for _, path := range paths { - if _, err := os.Stat(path); err != nil { + if _, err := os.Stat(path); err == nil { return path, nil } } for _, path := range paths { + if err := os.MkdirAll(filepath.Dir(path), 0744); err != nil { + continue + } + f, err := os.Create(path) - if err != nil { + if err == nil { f.Close() return path, nil }