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/java | |
parent | ce394707032867ede924a11fabab8836ec3a9c67 (diff) | |
download | gcc-7a625d0232ae8291bc9b3ec6ef9ea66ad5512d78.tar.gz |
* 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/java')
-rw-r--r-- | libjava/java/io/ByteArrayInputStream.java | 7 | ||||
-rw-r--r-- | libjava/java/io/CharArrayReader.java | 16 |
2 files changed, 13 insertions, 10 deletions
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 |