From 59fc63fcf808ba457739d34cf06fdf07272cc61f Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Thu, 17 Feb 2005 18:13:07 +0000 Subject: [multiple changes] 2005-02-17 Ito Kazumitsu * java/nio/ByteBufferImpl.java (compact): Set position and limit even if no bytes were moved. 2005-02-17 Michael Koch * 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 * 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. From-SVN: r95176 --- libjava/java/nio/MappedByteBufferImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libjava/java/nio/MappedByteBufferImpl.java') 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; } -- cgit v1.1