diff --git a/src/main/java/com/dostalgia/ConfigPatcher.java b/src/main/java/com/dostalgia/ConfigPatcher.java index 47a8df8..2286696 100644 --- a/src/main/java/com/dostalgia/ConfigPatcher.java +++ b/src/main/java/com/dostalgia/ConfigPatcher.java @@ -86,10 +86,10 @@ public class ConfigPatcher { private static String findReplacement(String fullPath, Path extractDir, Set seenPrefixes) { String drivePrefix = fullPath.substring(0, 2); - String sep = fullPath.substring(2, 3); + char sep = fullPath.charAt(2); + String splitRegex = sep == '\\' ? "\\\\" : "/"; String relPath = fullPath.substring(3); - String splitter = "\\\\".equals(sep) ? "\\\\\\\\" : "/"; - String[] parts = relPath.split(splitter, -1); + String[] parts = relPath.split(splitRegex, -1); for (int skip = 0; skip < parts.length; skip++) { StringBuilder suffix = new StringBuilder(); @@ -122,8 +122,8 @@ public class ConfigPatcher { } private static boolean existsIgnoreCase(Path base, String relativePath) { - String sep = relativePath.contains("\\") ? "\\\\\\\\" : "/"; - String[] parts = relativePath.split(sep, -1); + char sep = relativePath.contains("\\") ? '\\' : '/'; + String[] parts = relativePath.split(sep == '\\' ? "\\\\" : "/", -1); Path current = base; try { for (int i = 0; i < parts.length; i++) {