natWin32Process.cc (startProcess): Double-quote each program array element passed to CreateProcess.

2003-03-01  Mohan Embar  <gnustuff@thisiscool.com>

	* java/lang/natWin32Process.cc (startProcess): Double-quote each
	program array element passed to CreateProcess.

From-SVN: r63633
This commit is contained in:
Mohan Embar 2003-03-01 23:02:18 +00:00 committed by Tom Tromey
parent f857509881
commit 73058ef68c
2 changed files with 14 additions and 8 deletions

View 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;