< prev index next >

src/java.base/unix/native/libjava/UnixFileSystem_md.c

Print this page
rev 52659 : 8214077: test java/io/File/SetLastModified.java fails on ARM32
Summary: replace uses of stat with stat64 in UnixFileSystem_md.c and TimeZone_md.c
Reviewed-by: duke
Contributed-by: nick.gasson@arm.com

@@ -67,10 +67,11 @@
 #endif
 
 #if defined(_ALLBSD_SOURCE)
   #ifndef MACOSX
     #define statvfs64 statvfs
+    #define stat64 stat
   #endif
 #endif
 
 /* -- Field IDs -- */
 

@@ -119,12 +120,12 @@
 
 
 static jboolean
 statMode(const char *path, int *mode)
 {
-    struct stat sb;
-    if (stat(path, &sb) == 0) {
+    struct stat64 sb;
+    if (stat64(path, &sb) == 0) {
         *mode = sb.st_mode;
         return JNI_TRUE;
     }
     return JNI_FALSE;
 }

@@ -227,12 +228,12 @@
                                                 jobject file)
 {
     jlong rv = 0;
 
     WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) {
-        struct stat sb;
-        if (stat(path, &sb) == 0) {
+        struct stat64 sb;
+        if (stat64(path, &sb) == 0) {
 #if defined(_AIX)
             rv =  (jlong)sb.st_mtime * 1000;
             rv += (jlong)sb.st_mtime_n / 1000000;
 #elif defined(MACOSX)
             rv  = (jlong)sb.st_mtimespec.tv_sec * 1000;

@@ -252,12 +253,12 @@
                                       jobject file)
 {
     jlong rv = 0;
 
     WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) {
-        struct stat sb;
-        if (stat(path, &sb) == 0) {
+        struct stat64 sb;
+        if (stat64(path, &sb) == 0) {
             rv = sb.st_size;
         }
     } END_PLATFORM_STRING(env, path);
     return rv;
 }

@@ -406,13 +407,13 @@
                                                 jobject file, jlong time)
 {
     jboolean rv = JNI_FALSE;
 
     WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) {
-        struct stat sb;
+        struct stat64 sb;
 
-        if (stat(path, &sb) == 0) {
+        if (stat64(path, &sb) == 0) {
             struct timeval tv[2];
 
             /* Preserve access time */
 #if defined(_AIX)
             tv[0].tv_sec = sb.st_atime;
< prev index next >