diff options
author | Bryce McKinlay <bryce@albatross.co.nz> | 2001-02-19 05:37:28 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2001-02-19 05:37:28 +0000 |
commit | be454565bef7db066e0b660d900f7e722226f6d5 (patch) | |
tree | 068a69ffaa1bb533ad837de14d4b4840d8c09bab /libjava/java/io | |
parent | 612164eb464933b98366aeb4c4cf2b59861d4607 (diff) | |
download | gcc-be454565bef7db066e0b660d900f7e722226f6d5.zip gcc-be454565bef7db066e0b660d900f7e722226f6d5.tar.gz gcc-be454565bef7db066e0b660d900f7e722226f6d5.tar.bz2 |
CharArrayReader.java (CharArrayReader): Throw IllegalArgumentException if constructor arguments are illegal.
* 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.
From-SVN: r39876
Diffstat (limited to 'libjava/java/io')
-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 30ba8d7..0d93393 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 0a77998..d67c7c7 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 |