+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.
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;