aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/net/protocol/core/CoreInputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java/net/protocol/core/CoreInputStream.java')
-rw-r--r--libjava/gnu/java/net/protocol/core/CoreInputStream.java90
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;
- }
-}