From ca6254067f57b240206c9d6ac1fde56db6786eb6 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Wed, 17 May 2017 17:51:42 -0500 Subject: [PATCH] Workaround a jansi bug with Windows Update Paperclip too while we're here --- ...orkaround-for-jansi-bug-with-Windows.patch | 29 +++++++++++++++++++ work/Paperclip | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 Spigot-Server-Patches/0213-Workaround-for-jansi-bug-with-Windows.patch diff --git a/Spigot-Server-Patches/0213-Workaround-for-jansi-bug-with-Windows.patch b/Spigot-Server-Patches/0213-Workaround-for-jansi-bug-with-Windows.patch new file mode 100644 index 000000000..6daac7497 --- /dev/null +++ b/Spigot-Server-Patches/0213-Workaround-for-jansi-bug-with-Windows.patch @@ -0,0 +1,29 @@ +From 623e6cf1ce179cf97a4c030edfb5671ace6ba6d9 Mon Sep 17 00:00:00 2001 +From: Shane Freeder +Date: Wed, 17 May 2017 17:45:19 -0500 +Subject: [PATCH] Workaround for jansi bug with Windows + +When jansi attempts to extract its natives, by default it tries to extract a specific version +using the loading class's implementation version. Normally this works completely fine +however when on Windows certain characters such as - and : can trigger special behaviour. + +Furthermore this behaviour only occurs in specific combinations due to the parsing done by jansi. +For example test-test works fine, but test-test-test does not! In order to avoid this all together but +still keep our versions the same as they were, we set the override property to the essentially garbage version +Paper. This version is only used when extracting the libraries to their temp folder. + +diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java +index 33e5dd504..a2f1eb7eb 100644 +--- a/src/main/java/org/bukkit/craftbukkit/Main.java ++++ b/src/main/java/org/bukkit/craftbukkit/Main.java +@@ -182,6 +182,7 @@ public class Main { + } + + if (useJline) { ++ System.setProperty( "library.jansi.version", "Paper" ); // Paper - set jansi library version to avoid crash + AnsiConsole.systemInstall(); + } else { + // This ensures the terminal literal will always match the jline implementation +-- +2.13.0 + diff --git a/work/Paperclip b/work/Paperclip index 370a5d44b..6dcb3241c 160000 --- a/work/Paperclip +++ b/work/Paperclip @@ -1 +1 @@ -Subproject commit 370a5d44b6bc121c25e0208e127304f8dbdfed55 +Subproject commit 6dcb3241ca8e69fb8209e54fea507425c508915e