diff --git a/src/cli/cli.go b/src/cli/cli.go index e944cbf..20ec16d 100644 --- a/src/cli/cli.go +++ b/src/cli/cli.go @@ -166,19 +166,10 @@ func send(c *cli.Context) (err error) { var fnames []string stat, _ := os.Stdin.Stat() if (stat.Mode() & os.ModeCharDevice) == 0 { - f, err := ioutil.TempFile(".", "croc-stdin-") + fnames, err = getStdin() if err != nil { - return err + return } - _, err = io.Copy(f, os.Stdin) - if err != nil { - return err - } - err = f.Close() - if err != nil { - return err - } - fnames = []string{f.Name()} defer func() { err = os.Remove(fnames[0]) if err != nil { @@ -218,6 +209,23 @@ func send(c *cli.Context) (err error) { return } +func getStdin() (fnames []string, err error) { + f, err := ioutil.TempFile(".", "croc-stdin-") + if err != nil { + return + } + _, err = io.Copy(f, os.Stdin) + if err != nil { + return + } + err = f.Close() + if err != nil { + return + } + fnames = []string{f.Name()} + return +} + func getPaths(fnames []string) (paths []string, haveFolder bool, err error) { haveFolder = false paths = []string{}