func loadUserNets(localConfig string, netsLoadList common.PrivateNetList) ([]activeNet, error) { userNetPath := filepath.Join(localConfig, UserNetPathSuffix) log.Printf("Loading networks from %v\n", userNetPath) files, err := listFiles(userNetPath) if err != nil { return nil, err } sort.Strings(files) nets := make([]activeNet, 0, len(files)) for _, filename := range files { filepath := filepath.Join(userNetPath, filename) if !strings.HasSuffix(filepath, ".conf") { continue } n, err := loadNet(filepath) if err != nil { return nil, err } if !(netsLoadList.All() || netsLoadList.Specific(n.conf.Name)) { continue } // "default" is slightly special if n.conf.Name == "default" { log.Printf(`Overriding "default" network with %v`, filename) } if netExists(nets, n.conf.Name) { log.Printf("%q network already defined, ignoring %v", n.conf.Name, filename) continue } n.runtime.Args = netsLoadList.SpecificArgs(n.conf.Name) nets = append(nets, *n) } return nets, nil }