summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/native/jni/java-io
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/native/jni/java-io')
-rw-r--r--libjava/classpath/native/jni/java-io/Makefile.in25
-rw-r--r--libjava/classpath/native/jni/java-io/java_io_VMFile.c106
2 files changed, 78 insertions, 53 deletions
diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in
index 6e49428f403..8423de836bb 100644
--- a/libjava/classpath/native/jni/java-io/Makefile.in
+++ b/libjava/classpath/native/jni/java-io/Makefile.in
@@ -51,6 +51,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../ltsugar.m4 \
$(top_srcdir)/../../ltversion.m4 \
$(top_srcdir)/../../lt~obsolete.m4 \
+ $(top_srcdir)/m4/ac_prog_antlr.m4 \
+ $(top_srcdir)/m4/ac_prog_java.m4 \
+ $(top_srcdir)/m4/ac_prog_java_works.m4 \
$(top_srcdir)/m4/ac_prog_javac.m4 \
$(top_srcdir)/m4/ac_prog_javac_works.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
@@ -101,6 +104,8 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+ANTLR = @ANTLR@
+ANTLR_JAR = @ANTLR_JAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -132,6 +137,12 @@ CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GJDOC_FALSE = @CREATE_GJDOC_FALSE@
+CREATE_GJDOC_PARSER_FALSE = @CREATE_GJDOC_PARSER_FALSE@
+CREATE_GJDOC_PARSER_TRUE = @CREATE_GJDOC_PARSER_TRUE@
+CREATE_GJDOC_TRUE = @CREATE_GJDOC_TRUE@
+CREATE_GMPBI_LIBRARY_FALSE = @CREATE_GMPBI_LIBRARY_FALSE@
+CREATE_GMPBI_LIBRARY_TRUE = @CREATE_GMPBI_LIBRARY_TRUE@
CREATE_GSTREAMER_PEER_LIBRARIES_FALSE = @CREATE_GSTREAMER_PEER_LIBRARIES_FALSE@
CREATE_GSTREAMER_PEER_LIBRARIES_TRUE = @CREATE_GSTREAMER_PEER_LIBRARIES_TRUE@
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
@@ -170,11 +181,12 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
-FASTJAR = @FASTJAR@
FGREP = @FGREP@
FIND = @FIND@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ_JAVAC_FALSE = @GCJ_JAVAC_FALSE@
+GCJ_JAVAC_TRUE = @GCJ_JAVAC_TRUE@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -184,6 +196,8 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GMP_CFLAGS = @GMP_CFLAGS@
+GMP_LIBS = @GMP_LIBS@
GREP = @GREP@
GSTREAMER_BASE_CFLAGS = @GSTREAMER_BASE_CFLAGS@
GSTREAMER_BASE_LIBS = @GSTREAMER_BASE_LIBS@
@@ -205,7 +219,10 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
JAVAC = @JAVAC@
+JAVAC_IS_GCJ = @JAVAC_IS_GCJ@
JAVAC_MEM_OPT = @JAVAC_MEM_OPT@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
@@ -271,8 +288,10 @@ USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
VERSION = @VERSION@
-VM_BINARY = @VM_BINARY@
+WANT_NATIVE_BIG_INTEGER = @WANT_NATIVE_BIG_INTEGER@
WARNING_CFLAGS = @WARNING_CFLAGS@
+WITH_JAR_FALSE = @WITH_JAR_FALSE@
+WITH_JAR_TRUE = @WITH_JAR_TRUE@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
XSLT_CFLAGS = @XSLT_CFLAGS@
@@ -283,6 +302,7 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_ANTLR = @ac_ct_ANTLR@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
@@ -342,6 +362,7 @@ target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
toolexeclibdir = @toolexeclibdir@
+uudecode = @uudecode@
vm_classes = @vm_classes@
nativeexeclib_LTLIBRARIES = libjavaio.la
libjavaio_la_SOURCES = java_io_VMFile.c \
diff --git a/libjava/classpath/native/jni/java-io/java_io_VMFile.c b/libjava/classpath/native/jni/java-io/java_io_VMFile.c
index e79704fa672..a15cec769ee 100644
--- a/libjava/classpath/native/jni/java-io/java_io_VMFile.c
+++ b/libjava/classpath/native/jni/java-io/java_io_VMFile.c
@@ -97,7 +97,7 @@ Java_java_io_VMFile_create (JNIEnv * env,
if (result != CPNATIVE_OK)
{
if (result != EEXIST)
- JCL_ThrowException (env,
+ JCL_ThrowException (env,
"java/io/IOException",
cpnative_getErrorString (result));
JCL_free_cstring (env, name, filename);
@@ -124,12 +124,11 @@ Java_java_io_VMFile_create (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_canRead (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
- int fd;
int result;
/* Don't use the JCL convert function because it throws an exception
@@ -137,20 +136,18 @@ Java_java_io_VMFile_canRead (JNIEnv * env,
filename = (*env)->GetStringUTFChars (env, name, 0);
if (filename == NULL)
{
- return 0;
+ return JNI_FALSE;
}
- /* The lazy man's way out. We actually do open the file for reading
- briefly to verify it can be done */
- result = cpio_openFile (filename, &fd, CPFILE_FLAG_READ, 0);
+ result = cpio_checkAccess (filename, CPFILE_FLAG_READ);
+
(*env)->ReleaseStringUTFChars (env, name, filename);
if (result != CPNATIVE_OK)
- return 0;
- cpio_closeFile (fd);
+ return JNI_FALSE;
- return 1;
+ return JNI_TRUE;
#else /* not WITHOUT_FILESYSTEM */
- return 0;
+ return JNI_FALSE;
#endif /* not WITHOUT_FILESYSTEM */
}
@@ -166,12 +163,11 @@ Java_java_io_VMFile_canRead (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_canWrite (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
- int fd;
int result;
/* Don't use the JCL convert function because it throws an exception
@@ -179,27 +175,34 @@ Java_java_io_VMFile_canWrite (JNIEnv * env,
filename = (*env)->GetStringUTFChars (env, name, 0);
if (filename == NULL)
{
- return 0;
+ return JNI_FALSE;
}
- /* The lazy man's way out. We actually do open the file for writing
- briefly to verify it can be done */
- result = cpio_openFile (filename, &fd, CPFILE_FLAG_READWRITE, 0);
+ result = cpio_checkAccess (filename, CPFILE_FLAG_WRITE);
+
(*env)->ReleaseStringUTFChars (env, name, filename);
if (result != CPNATIVE_OK)
{
- return 0;
+ return JNI_FALSE;
}
- cpio_closeFile (fd);
- return 1;
+ return JNI_TRUE;
#else /* not WITHOUT_FILESYSTEM */
- return 0;
+ return JNI_FALSE;
#endif /* not WITHOUT_FILESYSTEM */
}
/*************************************************************************/
+JNIEXPORT jboolean JNICALL
+Java_java_io_VMFile_canWriteDirectory (JNIEnv *env, jclass clazz, jstring path)
+{
+ /* this is only valid on *nix systems */
+ return Java_java_io_VMFile_canWrite(env, clazz, path);
+}
+
+/*************************************************************************/
+
/*
* This method checks to see if we have execute permission on a file.
*
@@ -250,8 +253,8 @@ Java_java_io_VMFile_canExecute (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_setReadOnly (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -326,10 +329,10 @@ Java_java_io_VMFile_setWritable (JNIEnv *env,
*/
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_setExecutable (JNIEnv *env,
- jclass clazz __attribute__ ((__unused__)),
- jstring name,
- jboolean executable,
- jboolean ownerOnly)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name,
+ jboolean executable,
+ jboolean ownerOnly)
{
return set_file_permissions (env, name, executable, ownerOnly,
CPFILE_FLAG_EXEC);
@@ -434,8 +437,8 @@ Java_java_io_VMFile_getUsableSpace (JNIEnv *env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_exists (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -471,8 +474,8 @@ Java_java_io_VMFile_exists (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_isFile (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -508,8 +511,8 @@ Java_java_io_VMFile_isFile (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_isDirectory (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -545,8 +548,8 @@ Java_java_io_VMFile_isDirectory (JNIEnv * env,
JNIEXPORT jlong JNICALL
Java_java_io_VMFile_length (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -593,8 +596,8 @@ Java_java_io_VMFile_length (JNIEnv * env,
JNIEXPORT jlong JNICALL
Java_java_io_VMFile_lastModified (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -630,8 +633,8 @@ Java_java_io_VMFile_lastModified (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_setLastModified (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name, jlong newtime)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name, jlong newtime)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -667,8 +670,8 @@ Java_java_io_VMFile_setLastModified (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_delete (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *filename;
@@ -703,8 +706,8 @@ Java_java_io_VMFile_delete (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_mkdir (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring name)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const char *pathname;
@@ -739,8 +742,8 @@ Java_java_io_VMFile_mkdir (JNIEnv * env,
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_renameTo (JNIEnv * env,
- jobject obj __attribute__ ((__unused__)),
- jstring t, jstring d)
+ jclass clazz __attribute__ ((__unused__)),
+ jstring t, jstring d)
{
#ifndef WITHOUT_FILESYSTEM
const char *old_filename, *new_filename;
@@ -783,8 +786,9 @@ Java_java_io_VMFile_renameTo (JNIEnv * env,
*/
JNIEXPORT jobjectArray JNICALL
-Java_java_io_VMFile_list (JNIEnv * env, jobject obj
- __attribute__ ((__unused__)), jstring name)
+Java_java_io_VMFile_list (JNIEnv * env,
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
{
#ifndef WITHOUT_FILESYSTEM
const int REALLOC_SIZE = 10;
@@ -991,8 +995,8 @@ maybeGrowBuf (JNIEnv *env, char *buf, int *size, int required)
JNIEXPORT jstring JNICALL
Java_java_io_VMFile_toCanonicalForm (JNIEnv *env,
- jclass class __attribute__ ((__unused__)),
- jstring jpath)
+ jclass class __attribute__ ((__unused__)),
+ jstring jpath)
{
#ifndef WITHOUT_FILESYSTEM
const char *path;
OpenPOWER on IntegriCloud