aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2004-04-23 06:56:34 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2004-04-23 06:56:34 +0000
commit87939d70f8e59736e8d8d19b04694363452a817e (patch)
treecc46dbedcaa086a2bbc793056e368e55c7223be4 /libjava
parent5d837a584fa54f5181f52ef4d14ef441ead866be (diff)
downloadgcc-87939d70f8e59736e8d8d19b04694363452a817e.zip
gcc-87939d70f8e59736e8d8d19b04694363452a817e.tar.gz
gcc-87939d70f8e59736e8d8d19b04694363452a817e.tar.bz2
2004-04-23 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/channels/FileChannelImpl.java (SET, CUR): Unused, removed. (read): Implement here directly. (implRead): Removed. (write): Implement here directly. (implWrite): Removed. From-SVN: r81079
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/gnu/java/nio/channels/FileChannelImpl.java65
2 files changed, 34 insertions, 40 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 68fd9dc..6222b57 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2004-04-23 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/channels/FileChannelImpl.java
+ (SET, CUR): Unused, removed.
+ (read): Implement here directly.
+ (implRead): Removed.
+ (write): Implement here directly.
+ (implWrite): Removed.
+
2004-04-23 Dalibor Topic <robilad@kaffe.org>
* javax/rmi/CORBA/PortableRemoteObjectDelegate.java,
diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java
index 4bddf26..ea6ef0e 100644
--- a/libjava/gnu/java/nio/channels/FileChannelImpl.java
+++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java
@@ -60,13 +60,8 @@ import java.nio.channels.WritableByteChannel;
* Instances of this class are created by invoking getChannel
* Upon a Input/Output/RandomAccessFile object.
*/
-
public final class FileChannelImpl extends FileChannel
{
- // These are WHENCE values for seek.
- static final int SET = 0;
- static final int CUR = 1;
-
// These are mode values for open().
public static final int READ = 1;
public static final int WRITE = 2;
@@ -139,7 +134,15 @@ public final class FileChannelImpl extends FileChannel
public int read (ByteBuffer dst) throws IOException
{
- return implRead (dst);
+ int result;
+ byte[] buffer = new byte [dst.remaining ()];
+
+ result = read (buffer, 0, buffer.length);
+
+ if (result > 0)
+ dst.put (buffer, 0, result);
+
+ return result;
}
public int read (ByteBuffer dst, long position)
@@ -149,25 +152,12 @@ public final class FileChannelImpl extends FileChannel
throw new IllegalArgumentException ();
long oldPosition = implPosition ();
position (position);
- int result = implRead (dst);
+ int result = read(dst);
position (oldPosition);
return result;
}
- private int implRead (ByteBuffer dst) throws IOException
- {
- int result;
- byte[] buffer = new byte [dst.remaining ()];
-
- result = read (buffer, 0, buffer.length);
-
- if (result > 0)
- dst.put (buffer, 0, result);
-
- return result;
- }
-
public native int read ()
throws IOException;
@@ -189,7 +179,20 @@ public final class FileChannelImpl extends FileChannel
public int write (ByteBuffer src) throws IOException
{
- return implWrite (src);
+ int len = src.remaining ();
+ if (src.hasArray())
+ {
+ byte[] buffer = src.array();
+ write(buffer, src.arrayOffset() + src.position(), len);
+ }
+ else
+ {
+ // Use a more efficient native method! FIXME!
+ byte[] buffer = new byte [len];
+ src.get (buffer, 0, len);
+ write (buffer, 0, len);
+ }
+ return len;
}
public int write (ByteBuffer src, long position)
@@ -209,30 +212,12 @@ public final class FileChannelImpl extends FileChannel
oldPosition = implPosition ();
seek (position);
- result = implWrite (src);
+ result = write(src);
seek (oldPosition);
return result;
}
- private int implWrite (ByteBuffer src) throws IOException
- {
- int len = src.remaining ();
- if (src.hasArray())
- {
- byte[] buffer = src.array();
- write(buffer, src.arrayOffset() + src.position(), len);
- }
- else
- {
- // Use a more efficient native method! FIXME!
- byte[] buffer = new byte [len];
- src.get (buffer, 0, len);
- write (buffer, 0, len);
- }
- return len;
- }
-
public native void write (byte[] buffer, int offset, int length)
throws IOException;