OSDN Git Service

2003-07-26 Ranjit Mathew <rmathew@hotmail.com>
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 Jul 2003 04:13:03 +0000 (04:13 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 Jul 2003 04:13:03 +0000 (04:13 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69844 138bc75d-0d04-0410-961f-82ee72b054a4

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

index d5ebd57..dc4cef0 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 b1c7e02..7a58727 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 ff7ddb5..710753e 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';