From c2f19e61efb8e1382d1fb598085f1fb9339e938c Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Fri, 15 Aug 2014 16:08:48 +0000 Subject: [PATCH] refactoring infile setup --- rsload.go | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/rsload.go b/rsload.go index c3fbf7c..f46fc51 100644 --- a/rsload.go +++ b/rsload.go @@ -150,6 +150,25 @@ func (c *chunk) send(w *bufio.Writer, responses chan maybe) *sendResult { return stats } +func infile() *os.File { + if options.pipe { + return os.Stdin + } + + args := flag.Args() + if len(args) < 1 { + usage(1) + } + fname := args[0] + + f, err := os.Open(fname) + if err != nil { + fmt.Fprintf(os.Stderr, "unable to open file %s: %v\n", fname, err) + os.Exit(1) + } + return f +} + func main() { flag.Parse() @@ -183,31 +202,13 @@ func main() { defer pprof.StopCPUProfile() } - var infile *os.File - - if options.pipe { - infile = os.Stdin - } else { - args := flag.Args() - if len(args) < 1 { - usage(1) - } - fname := args[0] - - var err error - infile, err = os.Open(fname) - if err != nil { - fmt.Printf("unable to open file %s: %v\n", fname, err) - os.Exit(1) - } - defer infile.Close() - } + f := infile() responses := make(chan maybe) go streamValues(conn, responses) c := make(chan maybe) - go streamValues(infile, c) + go streamValues(f, c) w := bufio.NewWriterSize(conn, 16384)