diff options
-rw-r--r-- | libjava/ChangeLog | 16 | ||||
-rw-r--r-- | libjava/gnu/java/nio/ByteBufferImpl.java | 4 | ||||
-rw-r--r-- | libjava/gnu/java/nio/CharBufferImpl.java | 10 | ||||
-rw-r--r-- | libjava/gnu/java/nio/MappedByteFileBuffer.java | 10 | ||||
-rw-r--r-- | libjava/java/nio/ByteBuffer.java | 9 | ||||
-rw-r--r-- | libjava/java/nio/CharBuffer.java | 5 |
6 files changed, 45 insertions, 9 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 7fd8e12..91f7f8f 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,19 @@ +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. + 2003-03-10 2003-02-27 Mohan Embar <gnustuff@thisiscool.com> * include/jvm.h: removed declaration of _Jv_ThisExecutable() diff --git a/libjava/gnu/java/nio/ByteBufferImpl.java b/libjava/gnu/java/nio/ByteBufferImpl.java index 149dc1c..342f331 100644 --- a/libjava/gnu/java/nio/ByteBufferImpl.java +++ b/libjava/gnu/java/nio/ByteBufferImpl.java @@ -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; } diff --git a/libjava/gnu/java/nio/CharBufferImpl.java b/libjava/gnu/java/nio/CharBufferImpl.java index 5126e28..f35ae4b 100644 --- a/libjava/gnu/java/nio/CharBufferImpl.java +++ b/libjava/gnu/java/nio/CharBufferImpl.java @@ -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. diff --git a/libjava/gnu/java/nio/MappedByteFileBuffer.java b/libjava/gnu/java/nio/MappedByteFileBuffer.java index e839904..acade62 100644 --- a/libjava/gnu/java/nio/MappedByteFileBuffer.java +++ b/libjava/gnu/java/nio/MappedByteFileBuffer.java @@ -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 diff --git a/libjava/java/nio/ByteBuffer.java b/libjava/java/nio/ByteBuffer.java index 8b7c601..d55ae6d 100644 --- a/libjava/java/nio/ByteBuffer.java +++ b/libjava/java/nio/ByteBuffer.java @@ -247,6 +247,15 @@ public abstract class ByteBuffer extends Buffer implements Comparable } /** + * Returns the current hash code of this buffer. + */ + public int hashCode() + { + // FIXME: Check what SUN calcs here + return super.hashCode(); + } + + /** * Tells whether or not this buffer is equal to another object. */ public boolean equals (Object obj) diff --git a/libjava/java/nio/CharBuffer.java b/libjava/java/nio/CharBuffer.java index e299602..e5b31b4 100644 --- a/libjava/java/nio/CharBuffer.java +++ b/libjava/java/nio/CharBuffer.java @@ -45,6 +45,7 @@ import gnu.java.nio.CharBufferImpl; public abstract class CharBuffer extends Buffer implements Comparable, CharSequence { + protected int array_offset = 0; protected char [] backing_buffer; /** @@ -201,7 +202,7 @@ public abstract class CharBuffer extends Buffer } /** - * Tells wether this is buffer is backed by an array or not. + * Tells wether this is buffer is backed by an accessible array or not. */ public final boolean hasArray () { @@ -242,7 +243,7 @@ public abstract class CharBuffer extends Buffer if (isReadOnly ()) throw new ReadOnlyBufferException (); - return 0; + return array_offset; } /** |