aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/io/FileInputStream.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java
index 50abeaa..b49922e 100644
--- a/libjava/java/io/FileInputStream.java
+++ b/libjava/java/io/FileInputStream.java
@@ -268,11 +268,18 @@ public class FileInputStream extends InputStream
*
* @exception IOException If an error occurs
*/
- public long skip(long n) throws IOException
+ public long skip (long numBytes) throws IOException
{
- long startPos = fd.getFilePointer();
- long endPos = fd.seek(n, FileDescriptor.CUR, true);
- return endPos - startPos;
+ if (numBytes < 0)
+ throw new IllegalArgumentException ( "Can't skip negative bytes: " +
+ numBytes);
+
+ if (numBytes == 0)
+ return 0;
+
+ long curPos = fd.getFilePointer ();
+ long newPos = fd.seek (numBytes, FileDescriptor.CUR, true);
+ return newPos - curPos;
}
/**