summaryrefslogtreecommitdiffstats
path: root/sonar-channel
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-channel')
-rw-r--r--sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java8
-rw-r--r--sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java4
2 files changed, 5 insertions, 7 deletions
diff --git a/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java b/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java
index dbb28eb7b0b..25ad180b4b3 100644
--- a/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java
+++ b/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java
@@ -94,11 +94,9 @@ public class CodeBuffer implements CharSequence {
}
private void updateCursorPosition(int character) {
- //see Java Language Specification : http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.4
- if (character == LF || character == CR) {
- if ((lastChar != LF && lastChar != CR) || lastChar == character || lastChar == LF) {
- cursor.line++;
- }
+ // see Java Language Specification : http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.4
+ if (character == LF || (character == CR && peek() != LF)) {
+ cursor.line++;
cursor.column = 0;
} else if (character == '\t') {
cursor.column += tabWidth;
diff --git a/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java b/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java
index b028184c7c5..e5befb2efcb 100644
--- a/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java
+++ b/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java
@@ -84,8 +84,8 @@ public class CodeBufferTest {
assertThat(reader.getLinePosition(), is(3));
assertThat((char) reader.pop(), is('s'));
reader.pop(); // \r
- assertThat(reader.getColumnPosition(), is(0));
- assertThat(reader.getLinePosition(), is(4));
+ assertThat(reader.getColumnPosition(), is(2));
+ assertThat(reader.getLinePosition(), is(3));
reader.pop(); // \n
assertThat(reader.getColumnPosition(), is(0));
assertThat(reader.getLinePosition(), is(4));