From 44f2db6188458162890ca13980819247418d8e45 Mon Sep 17 00:00:00 2001 From: Ariel Mashraki Date: Sun, 7 May 2017 16:37:48 +0300 Subject: [PATCH] fix: test if something being pipe to stdin --- cmd/mark/main.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cmd/mark/main.go b/cmd/mark/main.go index 7b24002..2fd1a76 100644 --- a/cmd/mark/main.go +++ b/cmd/mark/main.go @@ -45,11 +45,11 @@ func main() { defer file.Close() reader = bufio.NewReader(file) } else { - if stat, err := os.Stdin.Stat(); err == nil && stat.Size() > 0 { - reader = bufio.NewReader(os.Stdin) - } else { + stat, err := os.Stdin.Stat() + if err != nil || (stat.Mode()&os.ModeCharDevice) != 0 { usageAndExit("") } + reader = bufio.NewReader(os.Stdin) } // collect data var data string @@ -65,8 +65,8 @@ func main() { } // write var ( - err error - file *os.File = os.Stdout + err error + file = os.Stdout ) if *output != "" { if file, err = os.Create(*output); err != nil { @@ -91,4 +91,4 @@ func usageAndExit(msg string) { flag.Usage() fmt.Fprintf(os.Stderr, "\n") os.Exit(1) -} \ No newline at end of file +}