diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/nio/channels/Channels.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/channels/FileChannelImpl.java | 4 |
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; } |