2003-03-11 Michael Koch <konqueror@gmx.de>

* gnu/java/nio/ByteBufferImpl.java
	(putInt): Use limit() instead of limit.
	* gnu/java/nio/CharBufferImpl.java
	(slice): Fixed implementation.
	(subSequence): Better bounds checking.
	* gnu/java/nio/MappedByteFileBuffer.java:
	Import all needed classes directly.
	* java/nio/ByteBuffer.java
	(hashCode): New dummy method.
	* java/nio/CharBuffer.java
	(array_offset): New member variable.
	(hasArray): Fixed documentation.
	(arrayOffset): Return array_offset.

From-SVN: r64165
This commit is contained in:
Michael Koch 2003-03-11 10:30:52 +00:00 committed by Michael Koch
parent 37bd08f8df
commit b772d2f592
6 changed files with 45 additions and 9 deletions

View file

@ -320,7 +320,7 @@ public final class ByteBufferImpl extends ByteBuffer
if (readOnly)
throw new ReadOnlyBufferException ();
nio_put_Short (this, position (), limit(), value);
nio_put_Short (this, position (), limit (), value);
inc_pos (2);
return this;
}
@ -352,7 +352,7 @@ public final class ByteBufferImpl extends ByteBuffer
if (readOnly)
throw new ReadOnlyBufferException ();
nio_put_Int (this, position (), limit , value);
nio_put_Int (this, position (), limit (), value);
inc_pos (4);
return this;
}

View file

@ -98,7 +98,8 @@ public final class CharBufferImpl extends CharBuffer
public CharBuffer slice()
{
return new CharBufferImpl (this);
return new CharBufferImpl (backing_buffer, arrayOffset () + position (),
remaining ());
}
public CharBuffer duplicate()
@ -125,9 +126,10 @@ public final class CharBufferImpl extends CharBuffer
final public CharSequence subSequence (int start, int end)
{
if (start < 0 ||
end > length () ||
start > end)
if (start < 0
|| start > length ()
|| end < start
|| end > length ())
throw new IndexOutOfBoundsException ();
// No support for direct buffers yet.

View file

@ -36,7 +36,15 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package gnu.java.nio;
import java.nio.*;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import java.nio.ShortBuffer;
import java.nio.MappedByteBuffer;
import java.io.IOException;
final public class MappedByteFileBuffer