OSDN Git Service

2003-03-01 Mohan Embar <gnustuff@thisiscool.com>
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Mar 2003 23:02:18 +0000 (23:02 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Mar 2003 23:02:18 +0000 (23:02 +0000)
* java/lang/natWin32Process.cc (startProcess): Double-quote each
program array element passed to CreateProcess.

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

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

index b3d2005..c340717 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-01  Mohan Embar  <gnustuff@thisiscool.com>
+
+       * java/lang/natWin32Process.cc (startProcess): Double-quote each
+       program array element passed to CreateProcess.
+
 2003-03-01  Tom Tromey  <tromey@redhat.com>
 
        * java/rmi/registry/RegistryHandler.java: Deprecate.
index 38e6f91..ff7ddb5 100644 (file)
@@ -136,21 +136,22 @@ java::lang::ConcreteProcess::startProcess (jstringArray progarray,
   int cmdLineLen = 0;
 
   for (int i = 0; i < progarray->length; ++i)
-    cmdLineLen += (_Jv_GetStringUTFLength (elts[i]) + 1);
+    cmdLineLen += (_Jv_GetStringUTFLength (elts[i]) + 3);
 
   char *cmdLine = (char *) _Jv_Malloc (cmdLineLen + 1);
+  char *cmdLineCurPos = cmdLine;
 
-  int j = 0;
   for (int i = 0; i < progarray->length; ++i)
     {
+      if (i > 0)
+        *cmdLineCurPos++ = ' ';
+      *cmdLineCurPos++ = '\"';
       jsize s = _Jv_GetStringUTFLength (elts[i]);
-      _Jv_GetStringUTFRegion (elts[i], 0, s, (cmdLine + j));
-
-      j += s;
-      *(cmdLine + j) = ' ';
-      j++;
+      _Jv_GetStringUTFRegion (elts[i], 0, s, cmdLineCurPos);
+      cmdLineCurPos += s;
+      *cmdLineCurPos++ = '\"';
     }
-  *(cmdLine + j) = '\0';
+  *cmdLineCurPos = '\0';
 
   // Get the environment, if any.
   char *env = NULL;