|
|
- package gcfg
-
- import (
- "gopkg.in/warnings.v0"
- )
-
- // FatalOnly filters the results of a Read*Into invocation and returns only
- // fatal errors. That is, errors (warnings) indicating data for unknown
- // sections / variables is ignored. Example invocation:
- //
- // err := gcfg.FatalOnly(gcfg.ReadFileInto(&cfg, configFile))
- // if err != nil {
- // ...
- //
- func FatalOnly(err error) error {
- return warnings.FatalOnly(err)
- }
-
- func isFatal(err error) bool {
- _, ok := err.(extraData)
- return !ok
- }
-
- type extraData struct {
- section string
- subsection *string
- variable *string
- }
-
- func (e extraData) Error() string {
- s := "can't store data at section \"" + e.section + "\""
- if e.subsection != nil {
- s += ", subsection \"" + *e.subsection + "\""
- }
- if e.variable != nil {
- s += ", variable \"" + *e.variable + "\""
- }
- return s
- }
-
- var _ error = extraData{}
|