Index: java/io/BufferedReader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/BufferedReader.java,v
retrieving revision 1.21
diff -u -b -B -r1.21 BufferedReader.java
--- java/io/BufferedReader.java 27 Dec 2003 13:12:34 -0000 1.21
+++ java/io/BufferedReader.java 6 Feb 2004 13:15:54 -0000
@@ -1,5 +1,5 @@
/* BufferedReader.java
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -89,6 +89,11 @@
static final int DEFAULT_BUFFER_SIZE = 8192;
/**
+ * The line buffer for readLine
.
+ */
+ private StringBuffer sbuf = null;
+
+ /**
* Create a new BufferedReader
that will read from the
* specified subordinate stream with a default buffer size of 8192 chars.
*
@@ -439,7 +444,7 @@
int i = lineEnd(limit);
if (i < limit)
{
- String str = new String(buffer, pos, i - pos);
+ String str = String.valueOf(buffer, pos, i - pos);
pos = i + 1;
// If the last char in the buffer is a '\r', we must remember
// to check if the next char to be read after the buffer is refilled
@@ -450,7 +455,10 @@
pos++;
return str;
}
- StringBuffer sbuf = new StringBuffer(200);
+ if (sbuf == null)
+ sbuf = new StringBuffer(200);
+ else
+ sbuf.setLength(0);
sbuf.append(buffer, pos, i - pos);
pos = i;
// We only want to return null when no characters were read before