aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/nio/ByteBufferImpl.java7
-rw-r--r--libjava/java/nio/CharBufferImpl.java3
-rw-r--r--libjava/java/nio/CharViewBufferImpl.java5
-rw-r--r--libjava/java/nio/DirectByteBufferImpl.java7
-rw-r--r--libjava/java/nio/DoubleBufferImpl.java3
-rw-r--r--libjava/java/nio/DoubleViewBufferImpl.java5
-rw-r--r--libjava/java/nio/FloatBufferImpl.java3
-rw-r--r--libjava/java/nio/FloatViewBufferImpl.java5
-rw-r--r--libjava/java/nio/IntBufferImpl.java3
-rw-r--r--libjava/java/nio/IntViewBufferImpl.java5
-rw-r--r--libjava/java/nio/LongBufferImpl.java3
-rw-r--r--libjava/java/nio/LongViewBufferImpl.java5
-rw-r--r--libjava/java/nio/MappedByteBufferImpl.java7
-rw-r--r--libjava/java/nio/ShortBufferImpl.java3
-rw-r--r--libjava/java/nio/ShortViewBufferImpl.java5
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;
}