From: Alfred M. Szmidt Date: Sat, 4 Aug 2007 21:50:01 +0000 (+0000) Subject: natFilePosix.cc (init_native): Define to 0. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fcfdb14511b80144d1d78a53e9b69483fb99a36a;p=gcc.git natFilePosix.cc (init_native): Define to 0. 2007-08-04 Alfred M. Szmidt * java/io/natFilePosix.cc (init_native) [!MAXPATHLEN]: Define to 0. * java/io/File.java (createTempFile): Don't truncate if the system doesn't have a limit on the length of a file name. * classpath/lib/java/io/File.class: Regenerate. From-SVN: r127216 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e28062ddb66..e9dbb5fb3bb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2007-08-04 Alfred M. Szmidt + + * java/io/natFilePosix.cc (init_native) [!MAXPATHLEN]: Define to 0. + * java/io/File.java (createTempFile): Don't truncate if the system + doesn't have a limit on the length of a file name. + * classpath/lib/java/io/File.class: Regenerate. + 2007-08-04 Matthias Klose Import GNU Classpath (libgcj-import-20070727). diff --git a/libjava/classpath/lib/java/io/File.class b/libjava/classpath/lib/java/io/File.class index 746da883bc8..8bcfe7989f9 100644 Binary files a/libjava/classpath/lib/java/io/File.class and b/libjava/classpath/lib/java/io/File.class differ diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java index 67d1b96df6c..0c4fb6932f5 100644 --- a/libjava/java/io/File.java +++ b/libjava/java/io/File.java @@ -117,6 +117,7 @@ public class File implements Serializable, Comparable public static final char pathSeparatorChar = pathSeparator.charAt(0); static final String tmpdir = System.getProperty("java.io.tmpdir"); + /* If 0, then the system doesn't have a file name length limit. */ static int maxPathLen; static boolean caseSensitive; @@ -1130,7 +1131,9 @@ public class File implements Serializable, Comparable // Truncation rules. // `6' is the number of characters we generate. - if (prefix.length() + 6 + suffix.length() > maxPathLen) + // If maxPathLen equals zero, then the system doesn't have a limit + // on the file name, so there is nothing to truncate. + if (maxPathLen > 0 && prefix.length() + 6 + suffix.length() > maxPathLen) { int suf_len = 0; if (suffix.charAt(0) == '.') diff --git a/libjava/java/io/natFilePosix.cc b/libjava/java/io/natFilePosix.cc index d63625f57a5..ead28557f6e 100644 --- a/libjava/java/io/natFilePosix.cc +++ b/libjava/java/io/natFilePosix.cc @@ -504,6 +504,12 @@ java::io::File::performDelete (void) void java::io::File::init_native () { +#ifdef MAXPATHLEN maxPathLen = MAXPATHLEN; +#else + /* Some systems do not have a limit on the length of a file name, + the GNU system is one such example. */ + maxPathLen = 0; +#endif caseSensitive = true; }