]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Win32Process.java (ConcreteProcess): Surround a command line element with quotes...
authorRanjit Mathew <rmathew@hotmail.com>
Sun, 27 Jul 2003 04:13:03 +0000 (04:13 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Sun, 27 Jul 2003 04:13:03 +0000 (04:13 +0000)
2003-07-26  Ranjit Mathew  <rmathew@hotmail.com>

* java/lang/Win32Process.java (ConcreteProcess): Surround
a command line element with quotes if it contains an
embedded space or tab.
* java/lang/natWin32Process.cc (startProcess): Do not
surround command line elements with quotes here.

From-SVN: r69844

libjava/ChangeLog
libjava/java/lang/Win32Process.java
libjava/java/lang/natWin32Process.cc

index d5ebd57b4e5aaf8df610f755f2f78017512c2c50..dc4cef06cca836b11795db162a671153a867d055 100644 (file)
@@ -1,5 +1,11 @@
 2003-07-26  Ranjit Mathew  <rmathew@hotmail.com>
 
+       * java/lang/Win32Process.java (ConcreteProcess): Surround
+       a command line element with quotes if it contains an
+       embedded space or tab.
+       * java/lang/natWin32Process.cc (startProcess): Do not
+       surround command line elements with quotes here.
+
        * configure.host: Use -fcheck-references and 
        -fuse-divide-subroutine for MinGW until we fix
        win32_exception_handler( ) in win32.cc w.r.t. Win32 
index b1c7e0273797af0731f913d5690f49cc68bb00e2..7a5872705b8bff403649ad3808c22902089444d3 100644 (file)
@@ -67,6 +67,14 @@ final class ConcreteProcess extends Process
                           File dir)
     throws IOException
   {
+    for (int i = 0; i < progarray.length; i++)
+      {
+        String s = progarray[i];
+
+        if ( (s.indexOf (' ') >= 0) || (s.indexOf ('\t') >= 0))
+          progarray[i] = "\"" + s + "\"";
+      }
+
     startProcess (progarray, envp, dir);
   }
 
index ff7ddb5f50a91f5b0e8858232e3136b039e68b1f..710753ec2153c0a42c08c64b849af3b1983afa23 100644 (file)
@@ -136,7 +136,7 @@ java::lang::ConcreteProcess::startProcess (jstringArray progarray,
   int cmdLineLen = 0;
 
   for (int i = 0; i < progarray->length; ++i)
-    cmdLineLen += (_Jv_GetStringUTFLength (elts[i]) + 3);
+    cmdLineLen += (_Jv_GetStringUTFLength (elts[i]) + 1);
 
   char *cmdLine = (char *) _Jv_Malloc (cmdLineLen + 1);
   char *cmdLineCurPos = cmdLine;
@@ -145,11 +145,9 @@ java::lang::ConcreteProcess::startProcess (jstringArray progarray,
     {
       if (i > 0)
         *cmdLineCurPos++ = ' ';
-      *cmdLineCurPos++ = '\"';
       jsize s = _Jv_GetStringUTFLength (elts[i]);
       _Jv_GetStringUTFRegion (elts[i], 0, s, cmdLineCurPos);
       cmdLineCurPos += s;
-      *cmdLineCurPos++ = '\"';
     }
   *cmdLineCurPos = '\0';