summaryrefslogtreecommitdiff
path: root/libjava/java/nio
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-30 13:38:20 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-30 13:38:20 +0000
commit92b13e438c93227fc20aaec01b54d6b35410c821 (patch)
tree183af12f5dc6b5b3c9bddf400175e36ec1dd1274 /libjava/java/nio
parentdb8cab804f7dbc8250d60e2caeebcb05b1b57713 (diff)
downloadgcc-92b13e438c93227fc20aaec01b54d6b35410c821.tar.gz
2004-05-30 Michael Koch <konqueror@gmx.de>
* java/nio/Buffer.java (limit): Fixed off by one error. * java/nio/CharBuffer.java (wrap): Fixed arguments, added javadocs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82448 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/nio')
-rw-r--r--libjava/java/nio/Buffer.java4
-rw-r--r--libjava/java/nio/CharBuffer.java55
2 files changed, 39 insertions, 20 deletions
diff --git a/libjava/java/nio/Buffer.java b/libjava/java/nio/Buffer.java
index c24259f71ec..c7f01b67116 100644
--- a/libjava/java/nio/Buffer.java
+++ b/libjava/java/nio/Buffer.java
@@ -148,11 +148,11 @@ public abstract class Buffer
if ((newLimit < 0) || (newLimit > cap))
throw new IllegalArgumentException ();
- if (newLimit <= mark)
+ if (newLimit < mark)
mark = -1;
if (pos > newLimit)
- pos = newLimit - 1;
+ pos = newLimit;
limit = newLimit;
return this;
diff --git a/libjava/java/nio/CharBuffer.java b/libjava/java/nio/CharBuffer.java
index 416ca834988..5116c254811 100644
--- a/libjava/java/nio/CharBuffer.java
+++ b/libjava/java/nio/CharBuffer.java
@@ -65,56 +65,75 @@ public abstract class CharBuffer extends Buffer
* Wraps a <code>char</code> array into a <code>CharBuffer</code>
* object.
*
+ * @param array the array to wrap
+ * @param offset the offset of the region in the array to wrap
+ * @param length the length of the region in the array to wrap
+ *
+ * @return a new <code>CharBuffer</code> object
+ *
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
*/
- final public static CharBuffer wrap (char[] array, int offset, int length)
+ final public static CharBuffer wrap(char[] array, int offset, int length)
{
- return new CharBufferImpl (array, 0, array.length, offset + length, offset, -1, false);
+ return new CharBufferImpl(array, 0, array.length, offset + length, offset, -1, false);
}
/**
* Wraps a character sequence into a <code>CharBuffer</code> object.
+ *
+ * @param seq the sequence to wrap
+ *
+ * @return a new <code>CharBuffer</code> object
*/
- final public static CharBuffer wrap (CharSequence a)
+ final public static CharBuffer wrap(CharSequence seq)
{
- return wrap (a, 0, a.length ());
+ return wrap(seq, 0, seq.length());
}
/**
* Wraps a character sequence into a <code>CharBuffer</code> object.
*
+ * @param seq the sequence to wrap
+ * @param start the index of the first character to wrap
+ * @param end the index of the first character not to wrap
+ *
+ * @return a new <code>CharBuffer</code> object
+ *
* @exception IndexOutOfBoundsException If the preconditions on the offset
* and length parameters do not hold
*/
- final public static CharBuffer wrap (CharSequence a, int offset, int length)
+ final public static CharBuffer wrap(CharSequence seq, int start, int end)
{
// FIXME: implement better handling of java.lang.String.
// Probably share data with String via reflection.
- if ((offset < 0)
- || (offset > a.length ())
- || (length < 0)
- || (length > (a.length () - offset)))
- throw new IndexOutOfBoundsException ();
+ if ((start < 0)
+ || (start > seq.length())
+ || (end < start)
+ || (end > (seq.length() - start)))
+ throw new IndexOutOfBoundsException();
- char [] buffer = new char [a.length ()];
+ int len = end - start;
+ char[] buffer = new char[len];
- for (int i = offset; i < length; i++)
- {
- buffer [i] = a.charAt (i);
- }
+ for (int i = 0; i < len; i++)
+ buffer[i] = seq.charAt(i + start);
- return wrap (buffer, offset, length).asReadOnlyBuffer ();
+ return wrap(buffer, 0, len).asReadOnlyBuffer();
}
/**
* Wraps a <code>char</code> array into a <code>CharBuffer</code>
* object.
+ *
+ * @param array the array to wrap
+ *
+ * @return a new <code>CharBuffer</code> object
*/
- final public static CharBuffer wrap (char[] array)
+ final public static CharBuffer wrap(char[] array)
{
- return wrap (array, 0, array.length);
+ return wrap(array, 0, array.length);
}
/**