diff options
| author | Damien Neil <dneil@google.com> | 2015-06-03 16:04:01 -0700 |
|---|---|---|
| committer | Damien Neil <dneil@google.com> | 2015-06-12 18:21:12 +0000 |
| commit | ab89378cb73003058d1f9707535610af468752fc (patch) | |
| tree | f4b16f64f9b5efad486656e719f44dc9402a7c27 /src/encoding/csv/reader.go | |
| parent | 4105265c66b860244b9f17ae495f8cc27fcd5344 (diff) | |
| download | go-ab89378cb73003058d1f9707535610af468752fc.tar.xz | |
encoding/csv: skip blank lines when FieldsPerRecord >= 0
Fixes #11050.
Change-Id: Ie5d16960a1f829af947d82a63fe414924cd02ff6
Reviewed-on: https://go-review.googlesource.com/10666
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/encoding/csv/reader.go')
| -rw-r--r-- | src/encoding/csv/reader.go | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/encoding/csv/reader.go b/src/encoding/csv/reader.go index ca81a41242..37bf80ceae 100644 --- a/src/encoding/csv/reader.go +++ b/src/encoding/csv/reader.go @@ -228,16 +228,15 @@ func (r *Reader) parseRecord() (fields []string, err error) { } r.r.UnreadRune() - // If FieldsPerRecord is greater then 0 we can assume the final - // length of fields to be equal to FieldsPerRecord. - if r.FieldsPerRecord > 0 { - fields = make([]string, 0, r.FieldsPerRecord) - } - // At this point we have at least one field. for { haveField, delim, err := r.parseField() if haveField { + // If FieldsPerRecord is greater then 0 we can assume the final + // length of fields to be equal to FieldsPerRecord. + if r.FieldsPerRecord > 0 && fields == nil { + fields = make([]string, 0, r.FieldsPerRecord) + } fields = append(fields, r.field.String()) } if delim == '\n' || err == io.EOF { |
