aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog13
-rw-r--r--libjava/gnu/java/nio/DatagramChannelImpl.java4
-rw-r--r--libjava/gnu/java/nio/SocketChannelImpl.java6
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;