diff options
Diffstat (limited to 'libjava/classpath/java/nio/CharBufferImpl.java')
-rw-r--r-- | libjava/classpath/java/nio/CharBufferImpl.java | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libjava/classpath/java/nio/CharBufferImpl.java b/libjava/classpath/java/nio/CharBufferImpl.java index 33f8dab..e6097cb 100644 --- a/libjava/classpath/java/nio/CharBufferImpl.java +++ b/libjava/classpath/java/nio/CharBufferImpl.java @@ -90,15 +90,14 @@ final class CharBufferImpl extends CharBuffer { checkIfReadOnly(); mark = -1; - int copied = 0; - - while (remaining () > 0) + int p = position(); + int n = limit() - p; + if (n > 0) { - put (copied, get ()); - copied++; + System.arraycopy(backing_buffer, array_offset + p, + backing_buffer, array_offset, n); } - - position (copied); + position(n); limit(capacity()); return this; } |