diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java index 2a1e2c95b..93ea9a7ab 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java @@ -230,6 +230,13 @@ public void testLineDelimiter() throws Exception { assertFalse(rt.isMissingNewlineAtEnd()); } + @Test + public void testLineDelimiter2() throws Exception { + RawText rt = new RawText(Constants.encodeASCII("\nfoo")); + assertEquals("\n", rt.getLineDelimiter()); + assertTrue(rt.isMissingNewlineAtEnd()); + } + private static RawText t(String text) { StringBuilder r = new StringBuilder(); for (int i = 0; i < text.length(); i++) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java b/org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java index 55aece3ca..b26e1bc42 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java @@ -289,7 +289,7 @@ public String getLineDelimiter() { int e = getEnd(0); if (content[e - 1] != '\n') return null; - if (content.length > 1 && content[e - 2] == '\r') + if (content.length > 1 && e > 1 && content[e - 2] == '\r') return "\r\n"; //$NON-NLS-1$ else return "\n"; //$NON-NLS-1$