diff options
-rw-r--r-- | libjava/ChangeLog | 13 | ||||
-rw-r--r-- | libjava/gnu/java/nio/DatagramChannelImpl.java | 4 | ||||
-rw-r--r-- | libjava/gnu/java/nio/SocketChannelImpl.java | 6 |
3 files changed, 18 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 4cbb9e7..76142c5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,16 @@ +2005-12-26 Anthony Green <green@redhat.com> + + * gnu/java/nio/SocketChannelImpl.java (read): Compute the right amount + of data to read (dst.remaining()). + * gnu/java/nio/DatagramChannelImpl.java (receive): Ditto. + +2005-11-11 Mark Wielaard <mark@klomp.org> + + Reported by john.zigman@anu.edu.au as bug #24608. + * gnu/java/nio/SocketChannelImpl.java (read): Put readBytes in + destination ByteBuffer when it doesn't have an array instead of len + bytes. + 2006-01-05 Tom Tromey <tromey@redhat.com> * java/lang/natThread.cc (finish_): Don't clear 'group'. diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.java b/libjava/gnu/java/nio/DatagramChannelImpl.java index cb2a607..de1d2e6 100644 --- a/libjava/gnu/java/nio/DatagramChannelImpl.java +++ b/libjava/gnu/java/nio/DatagramChannelImpl.java @@ -1,5 +1,5 @@ /* DatagramChannelImpl.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -206,7 +206,7 @@ public final class DatagramChannelImpl extends DatagramChannel try { DatagramPacket packet; - int len = dst.capacity() - dst.position(); + int len = dst.remaining(); if (dst.hasArray()) { diff --git a/libjava/gnu/java/nio/SocketChannelImpl.java b/libjava/gnu/java/nio/SocketChannelImpl.java index 8ca2b57..cda86e8 100644 --- a/libjava/gnu/java/nio/SocketChannelImpl.java +++ b/libjava/gnu/java/nio/SocketChannelImpl.java @@ -1,5 +1,5 @@ /* SocketChannelImpl.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -225,7 +225,7 @@ public final class SocketChannelImpl extends SocketChannel int offset = 0; InputStream input = socket.getInputStream(); int available = input.available(); - int len = dst.capacity() - dst.position(); + int len = dst.remaining(); if ((! isBlocking()) && available == 0) return 0; @@ -263,7 +263,7 @@ public final class SocketChannelImpl extends SocketChannel } else { - dst.put (data, offset, len); + dst.put (data, offset, readBytes); } return readBytes; |