summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2006-02-25 10:53:05 +0000
committerChris Burdess <dog@bluezoo.org>2006-02-25 10:53:05 +0000
commitec4b60b20cc9d60c2260bb776e9118b041a3ee70 (patch)
treedaacd486963c04d0f319cf1de849268f51dd766b
parent3ef6532f9b2e875cfec2f09a141a2f1cbba1651c (diff)
downloadclasspath-generics-merge-20060225.tar.gz
2006-02-25 Chris Burdess <dog@gnu.org>generics-merge-20060225
* gnu/java/net/CRLFInputStream.java, gnu/java/net/LineInputStream.java: Streams that use mark capabilities on the underlying stream do not expose mark functionality themselves. * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when off > 0.
-rw-r--r--ChangeLog9
-rw-r--r--gnu/java/net/CRLFInputStream.java12
-rw-r--r--gnu/java/net/LineInputStream.java31
-rw-r--r--gnu/xml/stream/CRLFReader.java9
4 files changed, 49 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 7117b32cc..f30393a72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-02-25 Chris Burdess <dog@gnu.org>
+
+ * gnu/java/net/CRLFInputStream.java,
+ gnu/java/net/LineInputStream.java: Streams that use mark
+ capabilities on the underlying stream do not expose mark
+ functionality themselves.
+ * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when
+ off > 0.
+
2006-02-25 Ito Kazumitsu <kaz@maczuka.gcd.org>
* gnu/regexp/REMatch.java(matchFlags): New int field used as
diff --git a/gnu/java/net/CRLFInputStream.java b/gnu/java/net/CRLFInputStream.java
index e021daf1b..ac3482679 100644
--- a/gnu/java/net/CRLFInputStream.java
+++ b/gnu/java/net/CRLFInputStream.java
@@ -1,5 +1,5 @@
/* CRLFInputStream.java --
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -39,7 +39,6 @@ exception statement from your version. */
package gnu.java.net;
import java.io.BufferedInputStream;
-import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -49,7 +48,7 @@ import java.io.InputStream;
* @author Chris Burdess (dog@gnu.org)
*/
public class CRLFInputStream
- extends FilterInputStream
+ extends InputStream
{
/**
* The CR octet.
@@ -61,6 +60,11 @@ public class CRLFInputStream
*/
public static final int LF = 10;
+ /**
+ * The underlying input stream.
+ */
+ protected InputStream in;
+
private boolean doReset;
/**
@@ -69,7 +73,7 @@ public class CRLFInputStream
*/
public CRLFInputStream(InputStream in)
{
- super(in.markSupported() ? in : new BufferedInputStream(in));
+ this.in = in.markSupported() ? in : new BufferedInputStream(in);
}
/**
diff --git a/gnu/java/net/LineInputStream.java b/gnu/java/net/LineInputStream.java
index 81a3c7d1f..da307dbdd 100644
--- a/gnu/java/net/LineInputStream.java
+++ b/gnu/java/net/LineInputStream.java
@@ -1,5 +1,5 @@
/* LineInputStream.java --
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -40,7 +40,6 @@ package gnu.java.net;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -50,8 +49,14 @@ import java.io.InputStream;
* @author Chris Burdess (dog@gnu.org)
*/
public class LineInputStream
- extends FilterInputStream
+ extends InputStream
{
+
+ /**
+ * The underlying input stream.
+ */
+ protected InputStream in;
+
/*
* Line buffer.
*/
@@ -88,7 +93,7 @@ public class LineInputStream
*/
public LineInputStream(InputStream in, String encoding)
{
- super(in);
+ this.in = in;
buf = new ByteArrayOutputStream();
this.encoding = encoding;
eof = false;
@@ -96,6 +101,24 @@ public class LineInputStream
blockReads = !(in instanceof BufferedInputStream) && in.markSupported();
}
+ public int read()
+ throws IOException
+ {
+ return in.read();
+ }
+
+ public int read(byte[] buf)
+ throws IOException
+ {
+ return in.read(buf);
+ }
+
+ public int read(byte[] buf, int off, int len)
+ throws IOException
+ {
+ return in.read(buf, off, len);
+ }
+
/**
* Read a line of input.
*/
diff --git a/gnu/xml/stream/CRLFReader.java b/gnu/xml/stream/CRLFReader.java
index 1d214ce52..dad02b94a 100644
--- a/gnu/xml/stream/CRLFReader.java
+++ b/gnu/xml/stream/CRLFReader.java
@@ -1,5 +1,5 @@
/* CRLFReader.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005,2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -153,13 +153,14 @@ class CRLFReader
throws IOException
{
doReset = false;
- int lm1 = len - 1;
- for (int i = off; i < len; i++)
+ int end = off + len;
+ int em1 = end - 1;
+ for (int i = off; i < end; i++)
{
if (b[i] == '\r') // CR
{
int d;
- if (i == lm1)
+ if (i == em1)
{
d = in.read();
doReset = true;