aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-03-11 10:30:52 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-03-11 10:30:52 +0000
commitb772d2f5927f157e016f434b59a33090c1137c06 (patch)
tree4ef30ee00b28507236135a22d7c2c45687ab7248 /libjava
parent37bd08f8df0003521d3da3b37a25235fd421bce6 (diff)
downloadgcc-b772d2f5927f157e016f434b59a33090c1137c06.zip
gcc-b772d2f5927f157e016f434b59a33090c1137c06.tar.gz
gcc-b772d2f5927f157e016f434b59a33090c1137c06.tar.bz2
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
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog16
-rw-r--r--libjava/gnu/java/nio/ByteBufferImpl.java4
-rw-r--r--libjava/gnu/java/nio/CharBufferImpl.java10
-rw-r--r--libjava/gnu/java/nio/MappedByteFileBuffer.java10
-rw-r--r--libjava/java/nio/ByteBuffer.java9
-rw-r--r--libjava/java/nio/CharBuffer.java5
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;
}
/**