aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/nio/channels/Channels.java5
-rw-r--r--libjava/java/nio/channels/FileChannelImpl.java4
2 files changed, 6 insertions, 3 deletions
diff --git a/libjava/java/nio/channels/Channels.java b/libjava/java/nio/channels/Channels.java
index f8358ae..d70410c 100644
--- a/libjava/java/nio/channels/Channels.java
+++ b/libjava/java/nio/channels/Channels.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.nio.channels;
+import gnu.java.nio.ChannelInputStream;
import gnu.java.nio.InputStreamChannel;
import gnu.java.nio.OutputStreamChannel;
import java.io.InputStream;
@@ -55,9 +56,9 @@ public final class Channels
/**
* Constructs a stream that reads bytes from the given channel.
*/
- public static InputStream newInputStream (ReadableByteChannel ch)
+ public static InputStream newInputStream(ReadableByteChannel ch)
{
- throw new Error ("not implemented");
+ return new ChannelInputStream(ch);
}
/**
diff --git a/libjava/java/nio/channels/FileChannelImpl.java b/libjava/java/nio/channels/FileChannelImpl.java
index a14a7e1..89ac11a 100644
--- a/libjava/java/nio/channels/FileChannelImpl.java
+++ b/libjava/java/nio/channels/FileChannelImpl.java
@@ -169,7 +169,9 @@ public class FileChannelImpl extends FileChannel
byte[] buffer = new byte [dst.remaining ()];
result = implRead (buffer, 0, buffer.length);
- dst.put (buffer, 0, result);
+
+ if (result > 0)
+ dst.put (buffer, 0, result);
return result;
}