diff options
Diffstat (limited to 'lucene/long_path.patch')
-rw-r--r-- | lucene/long_path.patch | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/lucene/long_path.patch b/lucene/long_path.patch deleted file mode 100644 index d3ab8e3..0000000 --- a/lucene/long_path.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- misc/lucene-2.3.2/src/java/org/apache/lucene/store/FSDirectory.java 2008-05-01 22:27:58.000000000 +0200 -+++ misc/build/lucene-2.3.2/src/java/org/apache/lucene/store/FSDirectory.java 2011-02-23 16:36:26.249515000 +0100 -@@ -165,7 +165,15 @@ - public static FSDirectory getDirectory(File file, LockFactory lockFactory) - throws IOException - { -- file = new File(file.getCanonicalPath()); -+ String path = file.getPath(); -+ //File.getCanonicalPath fails on Windows with long path names -+ //Tested with Java SE 6u23 -+ //Long path names created by osl_getSystemPathFromFileURL are already -+ //unique because its implementation replaces the occurrences of .. and . -+ //That is using the com.sun.star.help.HelpIndexer service from c++ is -+ //relatively safe. -+ if (!path.startsWith("\\\\?\\")) -+ file = new File(file.getCanonicalPath()); - - if (file.exists() && !file.isDirectory()) - throw new IOException(file + " not a directory"); -@@ -455,7 +463,16 @@ - public String getLockID() { - String dirName; // name to be hashed - try { -- dirName = directory.getCanonicalPath(); -+ //File.getCanonicalPath fails on Windows with long path names -+ //Tested with Java SE 6u23 -+ //Long path names created by osl_getSystemPathFromFileURL are already -+ //unique because its implementation replaces the occurrences of .. and . -+ //That is using the com.sun.star.help.HelpIndexer service from c++ is -+ //relatively safe. -+ if (!directory.getPath().startsWith("\\\\?\\")) -+ dirName = directory.getCanonicalPath(); -+ else -+ dirName = directory.getPath(); - } catch (IOException e) { - throw new RuntimeException(e.toString(), e); - } |