repochecker: Fix dependency loop detection

This commit is contained in:
nemunaire 2022-11-14 13:47:46 +01:00
commit 85027166d7

View file

@ -508,18 +508,17 @@ func CheckExerciceFlags(i Importer, exercice *fic.Exercice, files []string, exce
// Check dependency loop // Check dependency loop
deps := flag.FlagsDeps deps := flag.FlagsDeps
deploppcheck:
for i := 0; i < len(deps); i++ { for i := 0; i < len(deps); i++ {
if deps[i] == flagid { if deps[i] == flagid {
errs = append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag dependency loop detected: flag id=%d: depends on itself", flagid))) errs = append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag dependency loop detected: flag id=%d: depends on itself", flagid)))
break break
} }
deploppadd:
for _, d := range flags[deps[i]].FlagsDeps { for _, d := range flags[deps[i]].FlagsDeps {
for _, dd := range deps { for _, dd := range deps {
if dd == d { if dd == d {
errs = append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag dependency loop detected: flag id=%d: depends on itself", d))) continue deploppadd
break deploppcheck
} }
} }
deps = append(deps, d) deps = append(deps, d)