From 1d57bc9181cb930cec4f8e4c8a527ab510250925 Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 30 Apr 2002 23:55:57 +0000 Subject: [PATCH] * java/io/BufferedReader.java (fill): Handle case where markPos point to ignored \n. Fixes PR libgcj/6301. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52982 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 5 +++++ libjava/java/io/BufferedReader.java | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 7aaf712..9a0891b 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2002-04-30 Tom Tromey + + * java/io/BufferedReader.java (fill): Handle case where markPos + point to ignored \n. Fixes PR libgcj/6301. + 2002-04-29 Gerhard Tonn * java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for S/390. diff --git a/libjava/java/io/BufferedReader.java b/libjava/java/io/BufferedReader.java index b3a7bed..b4cdb63 100644 --- a/libjava/java/io/BufferedReader.java +++ b/libjava/java/io/BufferedReader.java @@ -1,5 +1,5 @@ /* BufferedReader.java - Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -355,7 +355,12 @@ public class BufferedReader extends Reader if (retAtEndOfBuffer && buffer[pos] == '\n') { --count; - pos++; + // If the mark was set to the location of the \n, then we + // must change it to fully pretend that the \n does not + // exist. + if (markPos == pos) + ++markPos; + ++pos; } return count; -- 2.7.4