Handle data from char device on stdin

Fixes #96
This commit is contained in:
Víctor Zamanillo 2020-09-28 12:37:44 +02:00
parent fc93c355de
commit 6bde867d08

View File

@ -18,13 +18,14 @@ func FolderExists(folderpath string) bool {
}
// HasStdin determines if the user has piped input
func HasStdin() bool {
fi, err := os.Stdin.Stat()
func hasStdin() bool {
stat, err := os.Stdin.Stat()
if err != nil {
return false
}
if fi.Mode()&os.ModeNamedPipe == 0 {
return false
}
return true
isPipedFromChrDev := (stat.Mode() & os.ModeCharDevice) == 0
isPipedFromFIFO := (stat.Mode() & os.ModeNamedPipe) != 0
return isPipedFromChrDev || isPipedFromFIFO
}