From a520c9b2b1ec53d909e76b186e7eeb0abdbbad3e Mon Sep 17 00:00:00 2001 From: Cameron Sparr Date: Wed, 28 Sep 2016 15:30:02 +0100 Subject: [PATCH] Load config directory using filepath.Walk closes #1137 --- internal/config/config.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index 30e62789023ec..4df1fa8a75a00 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -404,24 +404,21 @@ func PrintOutputConfig(name string) error { } func (c *Config) LoadDirectory(path string) error { - directoryEntries, err := ioutil.ReadDir(path) - if err != nil { - return err - } - for _, entry := range directoryEntries { - if entry.IsDir() { - continue + walkfn := func(thispath string, info os.FileInfo, _ error) error { + if info.IsDir() { + return nil } - name := entry.Name() + name := info.Name() if len(name) < 6 || name[len(name)-5:] != ".conf" { - continue + return nil } - err := c.LoadConfig(filepath.Join(path, name)) + err := c.LoadConfig(thispath) if err != nil { return err } + return nil } - return nil + filepath.Walk(path, walkfn) } // Try to find a default config file at these locations (in order):