summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Ward <chris@chrisgward.com>2012-10-01 21:20:17 +1000
committerChris Ward <chris@chrisgward.com>2012-10-01 21:20:17 +1000
commitf4b45f5ca06d877ce7a0ae7bc02f28f2da786354 (patch)
tree72ec004d5b266a68e2733bf130410ba343f087b7
parent8855d2525a61d5ad286cac16fd0b1552f7b96acf (diff)
downloadEssentials-f4b45f5ca06d877ce7a0ae7bc02f28f2da786354.tar
Essentials-f4b45f5ca06d877ce7a0ae7bc02f28f2da786354.tar.gz
Essentials-f4b45f5ca06d877ce7a0ae7bc02f28f2da786354.tar.lz
Essentials-f4b45f5ca06d877ce7a0ae7bc02f28f2da786354.tar.xz
Essentials-f4b45f5ca06d877ce7a0ae7bc02f28f2da786354.zip
Fixing bad file names in Windows (Fixes #2924)
-rw-r--r--Essentials/src/com/earth2me/essentials/Util.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java
index c1f7cd014..72c1accef 100644
--- a/Essentials/src/com/earth2me/essentials/Util.java
+++ b/Essentials/src/com/earth2me/essentials/Util.java
@@ -26,7 +26,9 @@ public class Util
public static String sanitizeFileName(final String name)
{
- final String newName = INVALIDFILECHARS.matcher(name.toLowerCase(Locale.ENGLISH)).replaceAll("_");
+ String newName = INVALIDFILECHARS.matcher(name.toLowerCase(Locale.ENGLISH)).replaceAll("_");
+ if(Pattern.compile("^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(\\.(.+))?$", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.COMMENTS).matcher(newName).matches())
+ newName = "_" + newName;
return newName;
}