}
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 {
{"d", "e", "f"},
},
},
+ {
+ Name: "BlankLineFieldCount",
+ Input: "a,b,c\n\nd,e,f\n\n",
+ UseFieldsPerRecord: true,
+ Output: [][]string{
+ {"a", "b", "c"},
+ {"d", "e", "f"},
+ },
+ },
{
Name: "TrimSpace",
Input: " a, b, c\n",