aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/windows/jni/WindowsProcesses.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsProcesses.java b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsProcesses.java
index bb13941bcb..65b262088a 100644
--- a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsProcesses.java
+++ b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsProcesses.java
@@ -216,6 +216,9 @@ public class WindowsProcesses {
private static native int nativeGetpid();
+ // TODO(laszlocsomor): Audit this method and fix bugs. This method implements Bash quoting
+ // semantics but Windows quote semantics are different.
+ // More info: http://daviddeley.com/autohotkey/parameters/parameters.htm
public static String quoteCommandLine(List<String> argv) {
StringBuilder result = new StringBuilder();
for (int iArg = 0; iArg < argv.size(); iArg++) {
@@ -223,6 +226,10 @@ public class WindowsProcesses {
result.append(" ");
}
String arg = argv.get(iArg);
+ if (arg.isEmpty()) {
+ result.append("\"\"");
+ continue;
+ }
boolean hasSpace = arg.contains(" ");
if (!arg.contains("\"") && !arg.contains("\\") && !hasSpace) {
// fast path. Just append the input string.