aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/nio/CharBuffer.java11
-rw-r--r--libjava/java/nio/DoubleBuffer.java3
-rw-r--r--libjava/java/nio/FloatBuffer.java3
-rw-r--r--libjava/java/nio/IntBuffer.java3
-rw-r--r--libjava/java/nio/LongBuffer.java3
-rw-r--r--libjava/java/nio/ShortBuffer.java3
6 files changed, 19 insertions, 7 deletions
diff --git a/libjava/java/nio/CharBuffer.java b/libjava/java/nio/CharBuffer.java
index 9d61be9..e299602 100644
--- a/libjava/java/nio/CharBuffer.java
+++ b/libjava/java/nio/CharBuffer.java
@@ -63,7 +63,7 @@ public abstract class CharBuffer extends Buffer
*/
final public static CharBuffer wrap (char[] array, int offset, int length)
{
- return new CharBufferImpl (array, offset, offset + length);
+ return new CharBufferImpl (array, offset, length);
}
/**
@@ -205,7 +205,8 @@ public abstract class CharBuffer extends Buffer
*/
public final boolean hasArray ()
{
- return backing_buffer != null;
+ return (backing_buffer != null
+ && ! isReadOnly ());
}
/**
@@ -359,6 +360,9 @@ public abstract class CharBuffer extends Buffer
return new String (array (), position (), length ());
}
+ /**
+ * Returns the length of the remaining chars in this buffer.
+ */
public final int length ()
{
return remaining ();
@@ -370,6 +374,9 @@ public abstract class CharBuffer extends Buffer
public abstract ByteOrder order ();
/**
+ * Creates a new character buffer that represents the specified subsequence
+ * of this buffer, relative to the current position.
+ *
* @exception IndexOutOfBoundsException If the preconditions on start and
* end do not hold.
*/
diff --git a/libjava/java/nio/DoubleBuffer.java b/libjava/java/nio/DoubleBuffer.java
index 036579a..27f3a16 100644
--- a/libjava/java/nio/DoubleBuffer.java
+++ b/libjava/java/nio/DoubleBuffer.java
@@ -120,7 +120,8 @@ public abstract class DoubleBuffer extends Buffer implements Comparable
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final double[] array()
diff --git a/libjava/java/nio/FloatBuffer.java b/libjava/java/nio/FloatBuffer.java
index 8531cb9..16c92d6 100644
--- a/libjava/java/nio/FloatBuffer.java
+++ b/libjava/java/nio/FloatBuffer.java
@@ -121,7 +121,8 @@ public abstract class FloatBuffer extends Buffer implements Comparable
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final float[] array()
diff --git a/libjava/java/nio/IntBuffer.java b/libjava/java/nio/IntBuffer.java
index ddf03d8..18e353b 100644
--- a/libjava/java/nio/IntBuffer.java
+++ b/libjava/java/nio/IntBuffer.java
@@ -121,7 +121,8 @@ public abstract class IntBuffer extends Buffer implements Comparable
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final int[] array()
diff --git a/libjava/java/nio/LongBuffer.java b/libjava/java/nio/LongBuffer.java
index 63eb5af..8b73719 100644
--- a/libjava/java/nio/LongBuffer.java
+++ b/libjava/java/nio/LongBuffer.java
@@ -121,7 +121,8 @@ public abstract class LongBuffer extends Buffer implements Comparable
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final long[] array()
diff --git a/libjava/java/nio/ShortBuffer.java b/libjava/java/nio/ShortBuffer.java
index 7a71cad..8c5915d 100644
--- a/libjava/java/nio/ShortBuffer.java
+++ b/libjava/java/nio/ShortBuffer.java
@@ -121,7 +121,8 @@ public abstract class ShortBuffer extends Buffer implements Comparable
public final boolean hasArray()
{
- return (backing_buffer != null);
+ return (backing_buffer != null
+ && !isReadOnly ());
}
public final short[] array()