diff options
Diffstat (limited to 'libjava/gnu/java/net/protocol/core/CoreInputStream.java')
-rw-r--r-- | libjava/gnu/java/net/protocol/core/CoreInputStream.java | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/libjava/gnu/java/net/protocol/core/CoreInputStream.java b/libjava/gnu/java/net/protocol/core/CoreInputStream.java deleted file mode 100644 index 421bb1c4765..00000000000 --- a/libjava/gnu/java/net/protocol/core/CoreInputStream.java +++ /dev/null @@ -1,90 +0,0 @@ -// Handler.java - URLStreamHandler for core protocol. - -/* Copyright (C) 2001 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -package gnu.java.net.protocol.core; - -import gnu.gcj.Core; -import gnu.gcj.RawData; -import java.io.InputStream; -import java.io.IOException; - -public class CoreInputStream extends InputStream -{ - /* A pointer to the object in memory. */ - protected RawData ptr; - - /* Position of the next byte in core to be read. */ - protected int pos; - - /* The currently marked position in the stream. */ - protected int mark; - - /* The index in core one greater than the last valid character. */ - protected int count; - - private native int unsafeGetByte (long offset); - private native int copyIntoByteArray (byte[] dest, int offset, int numBytes); - - public CoreInputStream (Core core) - { - ptr = core.ptr; - count = core.length; - } - - public synchronized int available() - { - return count - pos; - } - - public synchronized void mark(int readAheadLimit) - { - // readAheadLimit is ignored per Java Class Lib. book, p.220. - mark = pos; - } - - public boolean markSupported() - { - return true; - } - - public synchronized int read() - { - if (pos < count) - return ((int) unsafeGetByte(pos++)) & 0xFF; - return -1; - } - - public synchronized int read(byte[] b, int off, int len) - { - if (pos >= count) - return -1; - - int numBytes = Math.min(count - pos, len); - copyIntoByteArray (b, off, numBytes); - pos += numBytes; - return numBytes; - } - - public synchronized void reset() - { - pos = mark; - } - - public synchronized long skip(long n) - { - // Even though the var numBytes is a long, in reality it can never - // be larger than an int since the result of subtracting 2 positive - // ints will always fit in an int. Since we have to return a long - // anyway, numBytes might as well just be a long. - long numBytes = Math.min ((long) (count - pos), n < 0 ? 0L : n); - pos += numBytes; - return numBytes; - } -} |