diff options
| author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-19 05:37:28 +0000 |
|---|---|---|
| committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-19 05:37:28 +0000 |
| commit | 7a625d0232ae8291bc9b3ec6ef9ea66ad5512d78 (patch) | |
| tree | 068a69ffaa1bb533ad837de14d4b4840d8c09bab /libjava | |
| parent | ce394707032867ede924a11fabab8836ec3a9c67 (diff) | |
| download | ppe42-gcc-7a625d0232ae8291bc9b3ec6ef9ea66ad5512d78.tar.gz ppe42-gcc-7a625d0232ae8291bc9b3ec6ef9ea66ad5512d78.zip | |
* java/io/CharArrayReader.java (CharArrayReader): Throw
IllegalArgumentException if constructor arguments are illegal.
(ready): Return false if no more characters can be read.
* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39876 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 5 | ||||
| -rw-r--r-- | libjava/java/io/ByteArrayInputStream.java | 7 | ||||
| -rw-r--r-- | libjava/java/io/CharArrayReader.java | 16 |
3 files changed, 18 insertions, 10 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 81cb27fe4a5..27569940330 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -4,6 +4,11 @@ property is not set. Don't call decode with null argument. * java/lang/Long.java (getLong): Likewise. + * java/io/CharArrayReader.java (CharArrayReader): Throw + IllegalArgumentException if constructor arguments are illegal. + (ready): Return false if no more characters can be read. + * java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise. + 2001-02-17 Mark Wielaard <mark@klomp.org> * java/util/TimerTask.java: New version from Classpath. diff --git a/libjava/java/io/ByteArrayInputStream.java b/libjava/java/io/ByteArrayInputStream.java index 30ba8d7f9da..0d9339363c1 100644 --- a/libjava/java/io/ByteArrayInputStream.java +++ b/libjava/java/io/ByteArrayInputStream.java @@ -40,6 +40,9 @@ public class ByteArrayInputStream extends InputStream public ByteArrayInputStream(byte[] buffer, int offset, int length) { + if (offset < 0 || length < 0 || offset > buffer.length) + throw new IllegalArgumentException(); + buf = buffer; count = offset + length; @@ -47,10 +50,6 @@ public class ByteArrayInputStream extends InputStream count = buf.length; pos = offset; - // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or: - // if (pos < 0 || pos > count) - // pos = 0; - mark = pos; } diff --git a/libjava/java/io/CharArrayReader.java b/libjava/java/io/CharArrayReader.java index 0a77998445f..d67c7c79f5c 100644 --- a/libjava/java/io/CharArrayReader.java +++ b/libjava/java/io/CharArrayReader.java @@ -41,17 +41,16 @@ public class CharArrayReader extends Reader public CharArrayReader(char[] buffer, int offset, int length) { super(); + if (offset < 0 || length < 0 || offset > buffer.length) + throw new IllegalArgumentException(); + buf = buffer; count = offset + length; if (count > buf.length) count = buf.length; - + pos = offset; - // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or: - // if (pos < 0 || pos > count) - // pos = 0; - markedPos = pos; } @@ -116,12 +115,17 @@ public class CharArrayReader extends Reader } } + /** Return true if more characters are available to be read. + * + * @specnote The JDK 1.3 API docs are wrong here. This method will + * return false if there are no more characters available. + */ public boolean ready() throws IOException { if (buf == null) throw new IOException("Stream closed"); - return true; + return (pos < count); } public void reset() throws IOException |

