diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/nio/ByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/CharBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/CharViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/DirectByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/DoubleBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/DoubleViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/FloatBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/FloatViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/IntBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/IntViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/LongBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/LongViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/MappedByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/ShortBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/ShortViewBufferImpl.java | 5 |
15 files changed, 69 insertions, 0 deletions
diff --git a/libjava/java/nio/ByteBufferImpl.java b/libjava/java/nio/ByteBufferImpl.java index b1e6b1f..d9f2462 100644 --- a/libjava/java/nio/ByteBufferImpl.java +++ b/libjava/java/nio/ByteBufferImpl.java @@ -112,6 +112,8 @@ final class ByteBufferImpl extends ByteBuffer public ByteBuffer compact () { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -120,6 +122,11 @@ final class ByteBufferImpl extends ByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/CharBufferImpl.java b/libjava/java/nio/CharBufferImpl.java index 2ca44d9..f9babe8 100644 --- a/libjava/java/nio/CharBufferImpl.java +++ b/libjava/java/nio/CharBufferImpl.java @@ -87,6 +87,8 @@ final class CharBufferImpl extends CharBuffer public CharBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -96,6 +98,7 @@ final class CharBufferImpl extends CharBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/CharViewBufferImpl.java b/libjava/java/nio/CharViewBufferImpl.java index 2701983..25a2cf7 100644 --- a/libjava/java/nio/CharViewBufferImpl.java +++ b/libjava/java/nio/CharViewBufferImpl.java @@ -122,6 +122,11 @@ class CharViewBufferImpl extends CharBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/DirectByteBufferImpl.java b/libjava/java/nio/DirectByteBufferImpl.java index 17f8dfa..d287164 100644 --- a/libjava/java/nio/DirectByteBufferImpl.java +++ b/libjava/java/nio/DirectByteBufferImpl.java @@ -197,6 +197,8 @@ abstract class DirectByteBufferImpl extends ByteBuffer public ByteBuffer compact() { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -205,6 +207,11 @@ abstract class DirectByteBufferImpl extends ByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/DoubleBufferImpl.java b/libjava/java/nio/DoubleBufferImpl.java index 2b5f32c..bad883c 100644 --- a/libjava/java/nio/DoubleBufferImpl.java +++ b/libjava/java/nio/DoubleBufferImpl.java @@ -80,6 +80,8 @@ final class DoubleBufferImpl extends DoubleBuffer public DoubleBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class DoubleBufferImpl extends DoubleBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/DoubleViewBufferImpl.java b/libjava/java/nio/DoubleViewBufferImpl.java index 276e275..d47c964 100644 --- a/libjava/java/nio/DoubleViewBufferImpl.java +++ b/libjava/java/nio/DoubleViewBufferImpl.java @@ -120,6 +120,11 @@ final class DoubleViewBufferImpl extends DoubleBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/FloatBufferImpl.java b/libjava/java/nio/FloatBufferImpl.java index aae5efc..6f552cf 100644 --- a/libjava/java/nio/FloatBufferImpl.java +++ b/libjava/java/nio/FloatBufferImpl.java @@ -80,6 +80,8 @@ final class FloatBufferImpl extends FloatBuffer public FloatBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class FloatBufferImpl extends FloatBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/FloatViewBufferImpl.java b/libjava/java/nio/FloatViewBufferImpl.java index 3dd0736..5d074b5 100644 --- a/libjava/java/nio/FloatViewBufferImpl.java +++ b/libjava/java/nio/FloatViewBufferImpl.java @@ -120,6 +120,11 @@ final class FloatViewBufferImpl extends FloatBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/IntBufferImpl.java b/libjava/java/nio/IntBufferImpl.java index 966fd48..6b22d40 100644 --- a/libjava/java/nio/IntBufferImpl.java +++ b/libjava/java/nio/IntBufferImpl.java @@ -80,6 +80,8 @@ final class IntBufferImpl extends IntBuffer public IntBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class IntBufferImpl extends IntBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/IntViewBufferImpl.java b/libjava/java/nio/IntViewBufferImpl.java index ff8b27b..77b04a8 100644 --- a/libjava/java/nio/IntViewBufferImpl.java +++ b/libjava/java/nio/IntViewBufferImpl.java @@ -120,6 +120,11 @@ final class IntViewBufferImpl extends IntBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/LongBufferImpl.java b/libjava/java/nio/LongBufferImpl.java index b7497fa..e82f774 100644 --- a/libjava/java/nio/LongBufferImpl.java +++ b/libjava/java/nio/LongBufferImpl.java @@ -80,6 +80,8 @@ final class LongBufferImpl extends LongBuffer public LongBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class LongBufferImpl extends LongBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/LongViewBufferImpl.java b/libjava/java/nio/LongViewBufferImpl.java index bfa64d0a..e205475 100644 --- a/libjava/java/nio/LongViewBufferImpl.java +++ b/libjava/java/nio/LongViewBufferImpl.java @@ -120,6 +120,11 @@ final class LongViewBufferImpl extends LongBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/MappedByteBufferImpl.java b/libjava/java/nio/MappedByteBufferImpl.java index 63e0225..fdb64c5 100644 --- a/libjava/java/nio/MappedByteBufferImpl.java +++ b/libjava/java/nio/MappedByteBufferImpl.java @@ -117,6 +117,8 @@ final class MappedByteBufferImpl extends MappedByteBuffer public ByteBuffer compact() { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -126,6 +128,11 @@ final class MappedByteBufferImpl extends MappedByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/ShortBufferImpl.java b/libjava/java/nio/ShortBufferImpl.java index 5d4eec2..0542432 100644 --- a/libjava/java/nio/ShortBufferImpl.java +++ b/libjava/java/nio/ShortBufferImpl.java @@ -80,6 +80,8 @@ final class ShortBufferImpl extends ShortBuffer public ShortBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class ShortBufferImpl extends ShortBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/ShortViewBufferImpl.java b/libjava/java/nio/ShortViewBufferImpl.java index acd6c23..f884ed5 100644 --- a/libjava/java/nio/ShortViewBufferImpl.java +++ b/libjava/java/nio/ShortViewBufferImpl.java @@ -120,6 +120,11 @@ final class ShortViewBufferImpl extends ShortBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } |