diff options
author | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-04 21:50:01 +0000 |
---|---|---|
committer | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-04 21:50:01 +0000 |
commit | f7242fb8dc66ba8b870d8cbcb53f3bb2ee1e1e31 (patch) | |
tree | a5afac585b0652d768e5750f87e604254164c8f6 /libjava/java | |
parent | c1bab63af9d4371c1d9bfdfb5a36cc9a9828a7bc (diff) | |
download | gcc-f7242fb8dc66ba8b870d8cbcb53f3bb2ee1e1e31.tar.gz |
2007-08-04 Alfred M. Szmidt <ams@gnu.org>
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127216 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/io/File.java | 5 | ||||
-rw-r--r-- | libjava/java/io/natFilePosix.cc | 6 |
2 files changed, 10 insertions, 1 deletions
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<File> 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<File> // 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; } |