]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/config/groups.go
config: return map from TransitivelyDetectedGroups()
[safcm/safcm.git] / cmd / safcm / config / groups.go
index 571f19b7fcb10b5adcd4c5e406d6f22e5b585730..466e493c401ea895062294304b0961c5f360ce2d 100644 (file)
@@ -131,7 +131,7 @@ func LoadGroups(cfg *Config, hosts *Hosts) (map[string][]string, error) {
 func ResolveHostGroups(host string, groups map[string][]string,
        detectedGroups []string) ([]string, error) {
 
-       const maxDepth = 100
+       const maxRecursionDepth = 100
 
        detectedGroupsMap := make(map[string]bool)
        for _, x := range detectedGroups {
@@ -143,7 +143,7 @@ func ResolveHostGroups(host string, groups map[string][]string,
        // groups).
        var lookup func(string, int) bool
        lookup = func(group string, depth int) bool {
-               if depth > maxDepth {
+               if depth > maxRecursionDepth {
                        cycle = &group
                        return false
                }
@@ -193,7 +193,7 @@ func ResolveHostGroups(host string, groups map[string][]string,
 // TransitivelyDetectedGroups returns all groups which depend on "detected"
 // groups, either directly or by depending on groups which transitively depend
 // on "detected" groups.
-func TransitivelyDetectedGroups(groups map[string][]string) []string {
+func TransitivelyDetectedGroups(groups map[string][]string) map[string]bool {
        work := make(map[string][]string)
        for k, v := range groups {
                work[k] = v
@@ -220,11 +220,5 @@ func TransitivelyDetectedGroups(groups map[string][]string) []string {
                        break
                }
        }
-
-       var res []string
-       for x := range detected {
-               res = append(res, x)
-       }
-       sort.Strings(res)
-       return res
+       return detected
 }