in pkg/util/cmdutil/input.go [39:58]
func FileOrStdin(cmd *cobra.Command, name string) error {
var stat, err = os.Stdin.Stat()
var filenameProvided = cmd.Flag(name).Value.String() != ""
var unreadableStdin = err != nil
var stdinProvided = (stat.Mode() & os.ModeCharDevice) == 0
if !filenameProvided && unreadableStdin {
return errors.New("unreadable stdin and empty file definition")
}
if !filenameProvided && !stdinProvided {
return ErrEmptyStdinAndFile
}
if filenameProvided && stdinProvided {
return errors.New("non empty stdin and file definition, need one of the two to be populated")
}
return nil
}