Always specify Locale on toLowerCase and toUpperCase usages, fixes AuthMe not working correctly on machines with turkish locale. ('I'.toLowerCase() => 'ı')
This commit is contained in:
@@ -15,6 +15,7 @@ import org.bukkit.Server;
|
||||
import javax.inject.Inject;
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Locale;
|
||||
|
||||
import static fr.xephi.authme.util.FileUtils.makePath;
|
||||
|
||||
@@ -80,7 +81,7 @@ public class PurgeExecutor {
|
||||
}
|
||||
|
||||
for (String file : dataFolder.list()) {
|
||||
if (cleared.contains(file.toLowerCase())) {
|
||||
if (cleared.contains(file.toLowerCase(Locale.ROOT))) {
|
||||
File playerFile = new File(dataFolder, file);
|
||||
if (playerFile.exists() && playerFile.delete()) {
|
||||
i++;
|
||||
@@ -137,7 +138,7 @@ public class PurgeExecutor {
|
||||
if (name.equals(file)) {
|
||||
continue;
|
||||
}
|
||||
if (cleared.contains(name.toLowerCase())) {
|
||||
if (cleared.contains(name.toLowerCase(Locale.ROOT))) {
|
||||
File dataFile = new File(dataFolder, file);
|
||||
if (dataFile.exists() && dataFile.delete()) {
|
||||
i++;
|
||||
|
||||
@@ -12,6 +12,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -74,7 +75,7 @@ class PurgeTask extends BukkitRunnable {
|
||||
}
|
||||
|
||||
OfflinePlayer offlinePlayer = offlinePlayers[nextPosition];
|
||||
if (offlinePlayer.getName() != null && toPurge.remove(offlinePlayer.getName().toLowerCase())) {
|
||||
if (offlinePlayer.getName() != null && toPurge.remove(offlinePlayer.getName().toLowerCase(Locale.ROOT))) {
|
||||
if (!permissionsManager.loadUserData(offlinePlayer)) {
|
||||
logger.warning("Unable to check if the user " + offlinePlayer.getName() + " can be purged!");
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user