Fix use of nil writer.
authorTom Clegg <tom@tomclegg.ca>
Thu, 8 Jul 2021 20:47:35 +0000 (16:47 -0400)
committerTom Clegg <tom@tomclegg.ca>
Thu, 8 Jul 2021 20:49:13 +0000 (16:49 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

export.go

index 685e719007f68be5baadcf6a4c31a76b9600164c..bc13ca90d59d10e210c188ef738d5bc85105701d 100644 (file)
--- a/export.go
+++ b/export.go
@@ -190,15 +190,17 @@ func (cmd *exporter) RunCommand(prog string, args []string, stdin io.Reader, std
                }
        }
 
-       var bedout *os.File
+       var bedout io.Writer
+       var bedfile *os.File
        var bedbufw *bufio.Writer
        if *outputBed != "" {
-               bedout, err = os.OpenFile(*outputBed, os.O_CREATE|os.O_WRONLY, 0666)
+               bedfile, err = os.OpenFile(*outputBed, os.O_CREATE|os.O_WRONLY, 0666)
                if err != nil {
                        return 1
                }
-               defer bedout.Close()
-               bedbufw = bufio.NewWriter(bedout)
+               defer bedfile.Close()
+               bedbufw = bufio.NewWriterSize(bedfile, 16*1024*1024)
+               bedout = bedbufw
        }
 
        err = cmd.export(*outputDir, bedout, tilelib, refseq, cgs)
@@ -210,7 +212,7 @@ func (cmd *exporter) RunCommand(prog string, args []string, stdin io.Reader, std
                if err != nil {
                        return 1
                }
-               err = bedout.Close()
+               err = bedfile.Close()
                if err != nil {
                        return 1
                }