diff --git a/arduino-core/src/processing/app/tools/DoubleQuotedArgumentsOnWindowsCommandLine.java b/arduino-core/src/processing/app/tools/DoubleQuotedArgumentsOnWindowsCommandLine.java index 15c793a3d..c0e0788e1 100644 --- a/arduino-core/src/processing/app/tools/DoubleQuotedArgumentsOnWindowsCommandLine.java +++ b/arduino-core/src/processing/app/tools/DoubleQuotedArgumentsOnWindowsCommandLine.java @@ -1,8 +1,6 @@ package processing.app.tools; import org.apache.commons.exec.CommandLine; -import processing.app.BaseNoGui; -import processing.app.Platform; import processing.app.helpers.OSUtils; import java.io.File; @@ -23,6 +21,11 @@ public class DoubleQuotedArgumentsOnWindowsCommandLine extends CommandLine { @Override public CommandLine addArgument(String argument, boolean handleQuoting) { + // Brutal hack to workaround windows command line parsing. + // http://stackoverflow.com/questions/5969724/java-runtime-exec-fails-to-escape-characters-properly + // http://msdn.microsoft.com/en-us/library/a1y7w461.aspx + // http://bugs.sun.com/view_bug.do?bug_id=6468220 + // http://bugs.sun.com/view_bug.do?bug_id=6518827 if (argument.contains("\"") && OSUtils.isWindows()) { argument = argument.replace("\"", "\\\""); }