diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 35 | ||||
-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 |
16 files changed, 104 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d2d055c..ebf7fcec 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,38 @@ +2005-02-17 Ito Kazumitsu <kaz@maczuka.gcd.org> + + * java/nio/ByteBufferImpl.java (compact): + Set position and limit even if no bytes were moved. + +2005-02-17 Michael Koch <konqueror@gmx.de> + + * java/nio/CharViewBufferImpl.java (compact): Likewise. + * java/nio/DirectByteBufferImpl.java (compact): Likewise. + * java/nio/DoubleViewBufferImpl.java (compact): Likewise. + * java/nio/FloatViewBufferImpl.java (compact): Likewise. + * java/nio/IntViewBufferImpl.java (compact): Likewise. + * java/nio/LongViewBufferImpl.java (compact): Likewise. + * java/nio/MappedByteBufferImpl.java (compact): Likewise. + * java/nio/ShortViewBufferImpl.java (compact): Likewise. + * java/nio/FloatBufferImpl.java (compact): Set position. + * java/nio/CharBufferImpl.java (compact): Likewise. + * java/nio/DoubleBufferImpl.java (compact): Likewise. + * java/nio/IntBufferImpl.java (compact): Likewise. + * java/nio/LongBufferImpl.java (compact): Likewise. + * java/nio/ShortBufferImpl.java (compact): Likewise. + +2005-02-17 Jeroen Frijters <jeroen@frijters.net> + + * java/nio/ByteBufferImpl.java, + java/nio/CharBufferImpl.java, + java/nio/DirectByteBufferImpl.java, + java/nio/DoubleBufferImpl.java, + java/nio/FloatBufferImpl.java, + java/nio/IntBufferImpl.java, + java/nio/LongBufferImpl.java, + java/nio/MappedByteBufferImpl.java, + java/nio/ShortBufferImpl.java + (compact): Added explicit read-only check and invalidate mark. + 2005-02-17 Michael Koch <konqueror@gmx.de> * gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, 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; } |