From aa90f3b3128e1bc4f3e150a686ca7d27bc7a2105 Mon Sep 17 00:00:00 2001 From: Dan Xu Date: Mon, 19 Aug 2013 12:38:56 -0700 Subject: [PATCH] 8023203: Wrap RandomAccessFile.seek native method into a Java helper method Reviewed-by: alanb, chegar --- jdk/make/java/java/mapfile-vers | 2 +- jdk/makefiles/mapfiles/libjava/mapfile-vers | 2 +- jdk/src/share/classes/java/io/RandomAccessFile.java | 10 +++++++++- jdk/src/share/native/java/io/RandomAccessFile.c | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/jdk/make/java/java/mapfile-vers b/jdk/make/java/java/mapfile-vers index ca33582de6b..bb06a3d6036 100644 --- a/jdk/make/java/java/mapfile-vers +++ b/jdk/make/java/java/mapfile-vers @@ -100,7 +100,7 @@ SUNWprivate_1.1 { Java_java_io_RandomAccessFile_open; Java_java_io_RandomAccessFile_read; Java_java_io_RandomAccessFile_readBytes; - Java_java_io_RandomAccessFile_seek; + Java_java_io_RandomAccessFile_seek0; Java_java_io_RandomAccessFile_setLength; Java_java_io_RandomAccessFile_write; Java_java_io_RandomAccessFile_writeBytes; diff --git a/jdk/makefiles/mapfiles/libjava/mapfile-vers b/jdk/makefiles/mapfiles/libjava/mapfile-vers index ca33582de6b..bb06a3d6036 100644 --- a/jdk/makefiles/mapfiles/libjava/mapfile-vers +++ b/jdk/makefiles/mapfiles/libjava/mapfile-vers @@ -100,7 +100,7 @@ SUNWprivate_1.1 { Java_java_io_RandomAccessFile_open; Java_java_io_RandomAccessFile_read; Java_java_io_RandomAccessFile_readBytes; - Java_java_io_RandomAccessFile_seek; + Java_java_io_RandomAccessFile_seek0; Java_java_io_RandomAccessFile_setLength; Java_java_io_RandomAccessFile_write; Java_java_io_RandomAccessFile_writeBytes; diff --git a/jdk/src/share/classes/java/io/RandomAccessFile.java b/jdk/src/share/classes/java/io/RandomAccessFile.java index 440cd225c80..fd1c712d1e3 100644 --- a/jdk/src/share/classes/java/io/RandomAccessFile.java +++ b/jdk/src/share/classes/java/io/RandomAccessFile.java @@ -518,7 +518,15 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable { * @exception IOException if {@code pos} is less than * {@code 0} or if an I/O error occurs. */ - public native void seek(long pos) throws IOException; + public void seek(long pos) throws IOException { + if (pos < 0) { + throw new IOException("Negative seek offset"); + } else { + seek0(pos); + } + } + + private native void seek0(long pos) throws IOException; /** * Returns the length of this file. diff --git a/jdk/src/share/native/java/io/RandomAccessFile.c b/jdk/src/share/native/java/io/RandomAccessFile.c index 42733fb0b3c..3251db87fb9 100644 --- a/jdk/src/share/native/java/io/RandomAccessFile.c +++ b/jdk/src/share/native/java/io/RandomAccessFile.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -123,7 +123,7 @@ Java_java_io_RandomAccessFile_length(JNIEnv *env, jobject this) { } JNIEXPORT void JNICALL -Java_java_io_RandomAccessFile_seek(JNIEnv *env, +Java_java_io_RandomAccessFile_seek0(JNIEnv *env, jobject this, jlong pos) { FD fd;