mirror of
https://gitea.phreedom.club/localhost_frssoft/bloat.git
synced 2025-05-06 03:48:45 +00:00
Change config file lookup
- Look for both local and global config file - Directly generate the global config file with make install
This commit is contained in:
parent
21ef7a6610
commit
003233d60d
6 changed files with 40 additions and 35 deletions
|
@ -108,21 +108,30 @@ func Parse(r io.Reader) (c *config, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func ParseFile(file string) (c *config, err error) {
|
||||
f, err := os.Open(file)
|
||||
if err != nil {
|
||||
return
|
||||
func ParseFiles(files []string) (c *config, err error) {
|
||||
var lastErr error
|
||||
for _, file := range files {
|
||||
f, err := os.Open(file)
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
if os.IsNotExist(err) {
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
defer f.Close()
|
||||
info, err := f.Stat()
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
return nil, err
|
||||
}
|
||||
if info.IsDir() {
|
||||
continue
|
||||
}
|
||||
return Parse(f)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
info, err := f.Stat()
|
||||
if err != nil {
|
||||
return
|
||||
if lastErr == nil {
|
||||
lastErr = errors.New("invalid config file")
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
return nil, errors.New("invalid config file")
|
||||
}
|
||||
|
||||
return Parse(f)
|
||||
return nil, lastErr
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue