[Patch] PipedInputStream.read()
Michael Koch
konqueror@gmx.de
Fri Apr 1 18:06:00 GMT 2005
Hi list,
Olafur Bragason made me aware of a bug in
java.io.PipedInputStream.read(). The attached patch fixes the issue.
Ok for trunk and 4.0?
Michael
2005-04-01 Michael Koch <konqueror@gmx.de>
* java/io/PipedInputStream.java
(read): Make sure a positive byte value is returned. Revised javadoc.
Thanks to Olafur Bragason for reporting these bugs.
-------------- next part --------------
Index: java/io/PipedInputStream.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/io/PipedInputStream.java,v
retrieving revision 1.16
diff -u -r1.16 PipedInputStream.java
--- java/io/PipedInputStream.java 16 Nov 2004 11:30:11 -0000 1.16
+++ java/io/PipedInputStream.java 1 Apr 2005 18:03:51 -0000
@@ -1,5 +1,5 @@
/* PipedInputStream.java -- Read portion of piped streams.
- Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -226,18 +226,17 @@
}
/**
- * This method reads bytes from the stream into a caller supplied buffer.
- * It starts storing bytes at position <code>offset</code> into the
- * buffer and
- * reads a maximum of <code>len</code> bytes. Note that this method
- * can actually
- * read fewer than <code>len</code> bytes. The actual number of bytes
- * read is
- * returned. A -1 is returned to indicated that no bytes can be read
+ * This method reads one byte from the stream.
+ * -1 is returned to indicated that no bytes can be read
* because the end of the stream was reached. If the stream is already
* closed, a -1 will again be returned to indicate the end of the stream.
- * <p>
- * This method will block if no byte is available to be read.
+ *
+ * <p>This method will block if no byte is available to be read.</p>
+ *
+ * @return the value of the read byte value, or -1 of the end of the stream
+ * was reached
+ *
+ * @throws IOException if an error occured
*/
public int read() throws IOException
{
@@ -248,7 +247,7 @@
// if this method is never called.
int r = read(read_buf, 0, 1);
- return r != -1 ? read_buf[0] : -1;
+ return r != -1 ? (read_buf[0] & 0xff) : -1;
}
/**
More information about the Java-patches
mailing list