summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-04-30 23:51:50 +0000
committerTom Tromey <tromey@redhat.com>2002-04-30 23:51:50 +0000
commitd93a6befa90b2157953c1ec12971bb7d3adbb569 (patch)
tree7560c0403965db771d4fe1426050bcabe0be3a77
parent7480506327c7da7a17694eb0a08534f9e0c1db8a (diff)
downloadclasspath-d93a6befa90b2157953c1ec12971bb7d3adbb569.tar.gz
* java/io/BufferedReader.java (fill): Handle case where markPos
point to ignored \n.
-rw-r--r--ChangeLog5
-rw-r--r--java/io/BufferedReader.java9
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 87a4836c1..29d88f474 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-30 Tom Tromey <tromey@redhat.com>
+
+ * java/io/BufferedReader.java (fill): Handle case where markPos
+ point to ignored \n.
+
2002-04-30 Sascha Brawer <brawer@acm.org>
* java/text/ChoiceFormat.java (class description):
diff --git a/java/io/BufferedReader.java b/java/io/BufferedReader.java
index b3a7bed61..b4cdb639b 100644
--- a/java/io/BufferedReader.java
+++ b/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;