< prev index next >

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

Print this page
rev 17281 : 8181207: 8177809 breaks AIX 5.3, 6.1 builds
Reviewed-by:

*** 227,243 **** --- 227,248 ---- jlong rv = 0; WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) { struct stat64 sb; if (stat64(path, &sb) == 0) { + #ifdef _AIX + /* AIX 5.3 backward compatibility. */ + rv = 1000 * (jlong)sb.st_mtime; + #else #ifndef MACOSX rv = (jlong)sb.st_mtim.tv_sec * 1000; rv += (jlong)sb.st_mtim.tv_nsec / 1000000; #else rv = (jlong)sb.st_mtimespec.tv_sec * 1000; rv += (jlong)sb.st_mtimespec.tv_nsec / 1000000; #endif + #endif } } END_PLATFORM_STRING(env, path); return rv; }
*** 417,434 **** if (stat64(path, &sb) == 0) { struct timeval tv[2]; /* Preserve access time */ #ifndef MACOSX tv[0].tv_sec = sb.st_atim.tv_sec; tv[0].tv_usec = sb.st_atim.tv_nsec / 1000; #else tv[0].tv_sec = sb.st_atimespec.tv_sec; tv[0].tv_usec = sb.st_atimespec.tv_nsec / 1000; #endif ! /* Change last-modified time */ tv[1].tv_sec = time / 1000; tv[1].tv_usec = (time % 1000) * 1000; if (utimes(path, tv) == 0) --- 422,443 ---- if (stat64(path, &sb) == 0) { struct timeval tv[2]; /* Preserve access time */ + #ifdef _AIX + tv[0].tv_sec = sb.st_atime; + tv[0].tv_usec = 0; + #else #ifndef MACOSX tv[0].tv_sec = sb.st_atim.tv_sec; tv[0].tv_usec = sb.st_atim.tv_nsec / 1000; #else tv[0].tv_sec = sb.st_atimespec.tv_sec; tv[0].tv_usec = sb.st_atimespec.tv_nsec / 1000; #endif ! #endif /* Change last-modified time */ tv[1].tv_sec = time / 1000; tv[1].tv_usec = (time % 1000) * 1000; if (utimes(path, tv) == 0)
< prev index next >