encoding/csv: preserve \r\n in quoted fields

The parser mistakenly assumed it could always fold \r\n into \n, which
is not true since a \r\n inside a quoted fields has no special meaning
and should be kept as is.

Fix this by not folding \r\n to \n inside quotes fields.

Fixes #21201

Change-Id: Ifebc302e49cf63e0a027ee90f088dbc050a2b7a6
Reviewed-on: https://go-review.googlesource.com/52810
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Justin Nuß 2017-08-02 19:46:41 +02:00 committed by Ian Lance Taylor
parent f9cf8e5ab1
commit 9fbc06e6aa
2 changed files with 17 additions and 1 deletions

View file

@ -284,6 +284,13 @@ x,,,
Line: 2,
Column: 2,
},
{ // issue 21201
Name: "CRLFInQuotedField",
Input: "\"Hello\r\nHi\"",
Output: [][]string{
{"Hello\r\nHi"},
},
},
}
func TestRead(t *testing.T) {