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:
parent
f857509881
commit
73058ef68c
2 changed files with 14 additions and 8 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue