refactor stdin check
This commit is contained in:
parent
9d16b2970c
commit
82e2b05925
20
cmd/root.go
20
cmd/root.go
|
@ -18,7 +18,6 @@ package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
@ -28,6 +27,21 @@ import (
|
||||||
var presets []string
|
var presets []string
|
||||||
var transition bool
|
var transition bool
|
||||||
|
|
||||||
|
/*
|
||||||
|
* checkStdin checks if any data has been passed in through stdin and returns
|
||||||
|
* an error if we don't believe so.
|
||||||
|
*/
|
||||||
|
func checkStdin() error {
|
||||||
|
stat, err := os.Stdin.Stat()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
} else if (stat.Mode() & os.ModeCharDevice) != 0 {
|
||||||
|
return errors.New("nothing to read from stdin")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* validatePresets performs some basic checks on the presets passed in and
|
* validatePresets performs some basic checks on the presets passed in and
|
||||||
* returns an error if it finds a problem.
|
* returns an error if it finds a problem.
|
||||||
|
@ -108,11 +122,9 @@ func update(m *milkDropWindow) (bool, error) {
|
||||||
* milkbucket sets up the program and starts a rendering loop.
|
* milkbucket sets up the program and starts a rendering loop.
|
||||||
*/
|
*/
|
||||||
func milkbucket(cmd *cobra.Command, args []string) {
|
func milkbucket(cmd *cobra.Command, args []string) {
|
||||||
stat, err := os.Stdin.Stat()
|
err := checkStdin()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
} else if (stat.Mode() & os.ModeCharDevice) != 0 {
|
|
||||||
log.Fatal("nothing to read from stdin")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err = sdl.Init(sdl.INIT_VIDEO)
|
err = sdl.Init(sdl.INIT_VIDEO)
|
||||||
|
|
Loading…
Reference in New Issue