in image/resources/netapp-exports/internal/opt/opt.go [36:77]
func (opts *OptSet) Parse(arguments []string) error {
flags := opts.flags
if opts.LookupEnv == nil {
opts.LookupEnv = os.LookupEnv
}
err := flags.Parse(arguments)
if err != nil {
return err
}
// copy the environment map
env := make(map[string]string)
for k, v := range opts.env {
env[k] = v
}
// remove arguments that have already been explicitly set by the command line flags
flags.Visit(func(f *flag.Flag) {
delete(env, f.Name)
})
// set arguments from the environment
for f, e := range env {
err := opts.setFromEnv(f, e)
if err != nil {
switch flags.ErrorHandling() {
case flag.ContinueOnError:
return err
case flag.ExitOnError:
fmt.Fprintln(flags.Output(), err)
flags.Usage()
os.Exit(2)
case flag.PanicOnError:
panic(err)
}
}
}
return nil
}