From f5b58ce4ff49109bb47f6ffd9e3e3abd413981b2 Mon Sep 17 00:00:00 2001 From: Hedy Li Date: Fri, 9 Jul 2021 17:54:21 +0800 Subject: [PATCH] stdin doesnt work YET --- sparte.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/sparte.go b/sparte.go index 02d0f0e..f9a9592 100644 --- a/sparte.go +++ b/sparte.go @@ -133,10 +133,26 @@ func main() { break } // arg must be -f - inputBytes, err := ioutil.ReadFile(args[i+1]) - if err != nil { - fmt.Fprintln(os.Stderr, "Error reading file") - os.Exit(1) + file := args[i+1] + var inputBytes []byte + var err error + if file == "-" { + stat, _ := os.Stdin.Stat() + if (stat.Mode() & os.ModeCharDevice) == 0 { + fmt.Println("nothing in stdin") + os.Exit(1) + } + inputBytes, err = ioutil.ReadAll(os.Stdin) + if err != nil { + fmt.Fprintln(os.Stderr, "Error reading stdin") + os.Exit(1) + } + } else { + inputBytes, err = ioutil.ReadFile(args[i+1]) + if err != nil { + fmt.Fprintln(os.Stderr, "Error reading file") + os.Exit(1) + } } input = string(inputBytes) break