You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/07/07 12:35:25 UTC
[commons-csv] branch master updated: [CSV-158] Fix EOL checking for
read array in ExtendedBufferedReader (#5)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-csv.git
The following commit(s) were added to refs/heads/master by this push:
new a6ca416 [CSV-158] Fix EOL checking for read array in ExtendedBufferedReader (#5)
a6ca416 is described below
commit a6ca4165a8f8d156f0fbfe33627bac1509e7ae9c
Author: Alexander Bondarev <al...@gmail.com>
AuthorDate: Wed Jul 7 15:35:17 2021 +0300
[CSV-158] Fix EOL checking for read array in ExtendedBufferedReader (#5)
* Fix eol checking for read array in ExtendedBufferedReader
* Add test for eol checking when reading to different buffers
Co-authored-by: mirasrael <d_...@mail.ru>
Co-authored-by: Alexander Bondarev <al...@thomsonreuters.com>
---
src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java | 2 +-
.../java/org/apache/commons/csv/ExtendedBufferedReaderTest.java | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java b/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java
index b4b451f..63efb64 100644
--- a/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java
+++ b/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java
@@ -164,7 +164,7 @@ final class ExtendedBufferedReader extends BufferedReader {
for (int i = offset; i < offset + len; i++) {
final char ch = buf[i];
if (ch == LF) {
- if (CR != (i > 0 ? buf[i - 1] : lastChar)) {
+ if (CR != (i > offset ? buf[i - 1] : lastChar)) {
eolCounter++;
}
} else if (ch == CR) {
diff --git a/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java b/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
index a570aec..e83f94b 100644
--- a/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
+++ b/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
@@ -204,6 +204,15 @@ public class ExtendedBufferedReaderTest {
}
}
+ @Test
+ public void testReadingInDifferentBuffer() throws Exception {
+ char[] tmp1 = new char[2], tmp2 = new char[4];
+ ExtendedBufferedReader br = createBufferedReader("1\r\n2\r\n");
+ br.read(tmp1, 0, 2);
+ br.read(tmp2, 2, 2);
+ assertEquals(2, br.getCurrentLineNumber());
+ }
+
private ExtendedBufferedReader createBufferedReader(final String s) {
return new ExtendedBufferedReader(new StringReader(s));
}