diff options
| author | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-06-28 13:29:13 +0000 |
|---|---|---|
| committer | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-06-28 13:29:13 +0000 |
| commit | 1020ce5944edde4364baef4d371cd4f9b0dae721 (patch) | |
| tree | 602cd7aa7c947386134690d8e0f6b53abcdeacb9 /libjava/classpath/native/jni/native-lib | |
| parent | 9f41ce98ce6f4f7c8ac5e2c4b6e5d27e10201015 (diff) | |
| download | ppe42-gcc-1020ce5944edde4364baef4d371cd4f9b0dae721.tar.gz ppe42-gcc-1020ce5944edde4364baef4d371cd4f9b0dae721.zip | |
libjava/
2008-06-28 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (classpath-0_97_2-release).
* Regenerate class and header files.
* Regenerate auto* files.
* gcj/javaprims.h: Define jobjectRefType.
* jni.cc (_Jv_JNI_GetObjectRefType): New (stub only).
(_Jv_JNIFunctions): Initialize GetObjectRefType.
* gnu/classpath/jdwp/VMVirtualMachine.java,
java/security/VMSecureRandom.java: Merge from classpath.
* HACKING: Fix typo.
* ChangeLog-2007: New file.
* configure.ac: Set JAVAC, pass --disable-regen-headers to classpath.
libjava/classpath/
2008-06-28 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_javac.m4: Disable check for JAVAC, when
not configured with --enable-java-maintainer-mode.
* aclocal.m4, configure: Regenerate.
* native/jni/gstreamer-peer/Makefile.am: Do not link with
libclasspathnative.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting
JCOMPILER, drop flags not understood by gcj.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137223 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/native/jni/native-lib')
| -rw-r--r-- | libjava/classpath/native/jni/native-lib/Makefile.am | 2 | ||||
| -rw-r--r-- | libjava/classpath/native/jni/native-lib/Makefile.in | 25 | ||||
| -rw-r--r-- | libjava/classpath/native/jni/native-lib/cpio.c | 57 | ||||
| -rw-r--r-- | libjava/classpath/native/jni/native-lib/cpio.h | 9 | ||||
| -rw-r--r-- | libjava/classpath/native/jni/native-lib/cpnet.h | 4 |
5 files changed, 66 insertions, 31 deletions
diff --git a/libjava/classpath/native/jni/native-lib/Makefile.am b/libjava/classpath/native/jni/native-lib/Makefile.am index 59be5ce7475..0de723eb1f5 100644 --- a/libjava/classpath/native/jni/native-lib/Makefile.am +++ b/libjava/classpath/native/jni/native-lib/Makefile.am @@ -7,7 +7,7 @@ libclasspathnative_la_SOURCES = cpnet.c \ cpproc.h \ cpproc.c -AM_LDFLAGS = @CLASSPATH_MODULE@ +AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ @EXTRA_CFLAGS@ diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in index d356d69a834..54b5bf045b4 100644 --- a/libjava/classpath/native/jni/native-lib/Makefile.in +++ b/libjava/classpath/native/jni/native-lib/Makefile.in @@ -50,6 +50,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../ltoptions.m4 \ $(top_srcdir)/../../ltsugar.m4 \ $(top_srcdir)/../../ltversion.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 \ $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ @@ -147,7 +149,6 @@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -ECJ = @ECJ@ ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ @@ -159,19 +160,8 @@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ FASTJAR = @FASTJAR@ FGREP = @FGREP@ FIND = @FIND@ -FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ -FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ -FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ -FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ -FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ -FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ -FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ -FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ -FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ -GCJ = @GCJ@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -203,15 +193,12 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVAC = @JAVAC@ +JAVAC_MEM_OPT = @JAVAC_MEM_OPT@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ -JIKES = @JIKES@ -JIKESENCODING = @JIKESENCODING@ -JIKESWARNINGS = @JIKESWARNINGS@ -KJC = @KJC@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ @@ -259,10 +246,8 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ STRIP = @STRIP@ -USER_CLASSLIB = @USER_CLASSLIB@ +TOOLSDIR = @TOOLSDIR@ USER_JAVAH = @USER_JAVAH@ -USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ -USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ @@ -343,7 +328,7 @@ libclasspathnative_la_SOURCES = cpnet.c \ cpproc.h \ cpproc.c -AM_LDFLAGS = @CLASSPATH_MODULE@ +AM_LDFLAGS = @CLASSPATH_CONVENIENCE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ \ @EXTRA_CFLAGS@ diff --git a/libjava/classpath/native/jni/native-lib/cpio.c b/libjava/classpath/native/jni/native-lib/cpio.c index 743968bd36c..d8523680af3 100644 --- a/libjava/classpath/native/jni/native-lib/cpio.c +++ b/libjava/classpath/native/jni/native-lib/cpio.c @@ -71,6 +71,10 @@ exception statement from your version. */ #include <sys/select.h> #endif +#if defined(HAVE_STATVFS) +#include <sys/statvfs.h> +#endif + #include <utime.h> #include "cpnative.h" @@ -345,9 +349,11 @@ int cpio_setFileReadonly (const char *filename) if (stat(filename, &statbuf) < 0) return errno; - + +#ifdef S_IWRITE if (chmod(filename, statbuf.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH)) < 0) return errno; +#endif return 0; } @@ -395,6 +401,44 @@ int cpio_chmod (const char *filename, int permissions) return 0; } +JNIEXPORT long long +cpio_df (__attribute__((unused)) const char *path, + __attribute__((unused)) CPFILE_DF_TYPE type) +{ + long long result = 0L; + +#if defined(HAVE_STATVFS) + + long long scale_factor = 0L; + struct statvfs buf; + + if (statvfs (path, &buf) < 0) + return 0L; + + /* f_blocks, f_bfree and f_bavail are defined in terms of f_frsize */ + scale_factor = (long long) (buf.f_frsize); + + switch (type) + { + case TOTAL: + result = (long long) (buf.f_blocks * scale_factor); + break; + case FREE: + result = (long long) (buf.f_bfree * scale_factor); + break; + case USABLE: + result = (long long) (buf.f_bavail * scale_factor); + break; + default: + result = 0L; + break; + } + +#endif + + return result; +} + int cpio_checkAccess (const char *filename, unsigned int flag) { struct stat statbuf; @@ -520,16 +564,10 @@ int cpio_closeDir (void *handle) int cpio_readDir (void *handle, char *filename) { -#ifdef HAVE_READDIR_R - struct dirent dent; -#endif /* HAVE_READDIR_R */ struct dirent *dBuf; -#ifdef HAVE_READDIR_R - readdir_r ((DIR *) handle, &dent, &dBuf); -#else + errno = 0; dBuf = readdir((DIR *)handle); -#endif /* HAVE_READDIR_R */ if (dBuf == NULL) { @@ -540,11 +578,10 @@ int cpio_readDir (void *handle, char *filename) return errno; } - strncpy (filename, dBuf->d_name, FILENAME_MAX); + strncpy (filename, dBuf->d_name, FILENAME_MAX - 1); return 0; } - int cpio_closeOnExec(int fd) { diff --git a/libjava/classpath/native/jni/native-lib/cpio.h b/libjava/classpath/native/jni/native-lib/cpio.h index 259fc62cf79..a42fe62dbb6 100644 --- a/libjava/classpath/native/jni/native-lib/cpio.h +++ b/libjava/classpath/native/jni/native-lib/cpio.h @@ -83,6 +83,15 @@ JNIEXPORT int cpio_removeFile (const char *filename); JNIEXPORT int cpio_mkdir (const char *filename); JNIEXPORT int cpio_rename (const char *old_name, const char *new_name); +/* to be used with cpio_df */ +typedef enum { + TOTAL = 0, + FREE, + USABLE +} CPFILE_DF_TYPE; + +JNIEXPORT long long cpio_df (const char *path, CPFILE_DF_TYPE type); + JNIEXPORT int cpio_openDir (const char *dirname, void **handle); JNIEXPORT int cpio_closeDir (void *handle); JNIEXPORT int cpio_readDir (void *handle, char *filename); diff --git a/libjava/classpath/native/jni/native-lib/cpnet.h b/libjava/classpath/native/jni/native-lib/cpnet.h index 72850b4c8c6..979c363c23d 100644 --- a/libjava/classpath/native/jni/native-lib/cpnet.h +++ b/libjava/classpath/native/jni/native-lib/cpnet.h @@ -44,9 +44,13 @@ exception statement from your version. */ #include <sys/types.h> #include <sys/socket.h> +#ifdef HAVE_NETINET_IN_SYSTM_H #include <netinet/in_systm.h> +#endif /* HAVE_NETINET_IN_SYSTM_H */ #include <netinet/in.h> +#ifdef HAVE_NETINET_IP_H #include <netinet/ip.h> +#endif /* HAVE_NETINET_IP_H */ typedef struct { jint len; |

