From be2d3c9c1ee3d402b22dda0e234886e8ebd9d9fe Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Wed, 29 Mar 2017 12:01:01 -0400 Subject: [PATCH] Read extra new line Ref #603 --- cmd/micro/lineArray.go | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/cmd/micro/lineArray.go b/cmd/micro/lineArray.go index a63503be..843f200e 100644 --- a/cmd/micro/lineArray.go +++ b/cmd/micro/lineArray.go @@ -70,27 +70,18 @@ func NewLineArray(reader io.Reader) *LineArray { var buf bytes.Buffer tee := io.TeeReader(reader, &buf) numlines, _ := lineCounter(tee) - if numlines == 0 { - numlines = 1 - } + numlines++ la.lines = make([]Line, numlines) br := bufio.NewReader(&buf) - i := 0 - for { + for i := 0; i < numlines; i++ { data, err := br.ReadBytes('\n') if err != nil { if err == io.EOF { // la.lines[i] = Line{data[:len(data)], nil, nil, false} - if i >= len(la.lines) { - if len(data) != 0 { - la.lines = append(la.lines, Line{data, nil, nil, false}) - } - } else { - la.lines[i].data = data - } + la.lines[i].data = data } // Last line was read break @@ -98,9 +89,6 @@ func NewLineArray(reader io.Reader) *LineArray { la.lines[i].data = data[:len(data)-1] // la.lines[i] = Line{data[:len(data)-1], nil, nil, false} } - i++ - } - for i := 0; i < numlines; i++ { } return la