Skip to content

Commit 362670f

Browse files
committed
proper config error handling
1 parent 841c07b commit 362670f

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

main.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -836,12 +836,21 @@ func readConfig(filename string) error {
836836
case 0:
837837
continue
838838
case 1:
839-
flag.CommandLine.Set(record[0], "true")
839+
if err := flag.Set(record[0], "true"); err != nil {
840+
line, _ := r.FieldPos(0)
841+
return fmt.Errorf("error parsing config file %q at line %d: %w", filename, line, err)
842+
}
840843
case 2:
841-
flag.CommandLine.Set(record[0], record[1])
844+
if err := flag.Set(record[0], record[1]); err != nil {
845+
line, _ := r.FieldPos(0)
846+
return fmt.Errorf("error parsing config file %q at line %d: %w", filename, line, err)
847+
}
842848
default:
843849
unified := strings.Join(record[1:], " ")
844-
flag.CommandLine.Set(record[0], unified)
850+
if err := flag.Set(record[0], unified); err != nil {
851+
line, _ := r.FieldPos(0)
852+
return fmt.Errorf("error parsing config file %q at line %d: %w", filename, line, err)
853+
}
845854
}
846855
}
847856
return nil

0 commit comments

Comments
 (0)