diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-27 04:13:03 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-27 04:13:03 +0000 |
commit | ec0e9515a5b8d188f3f4158aea1884c23eb90c5e (patch) | |
tree | bcf68eb7a3659ea68a523d0edc5f76427f845169 /libjava/java/lang | |
parent | 74ecde5dfc4aecb625675c961de2fde54f313d0d (diff) | |
download | gcc-ec0e9515a5b8d188f3f4158aea1884c23eb90c5e.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69844 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang')
-rw-r--r-- | libjava/java/lang/Win32Process.java | 8 | ||||
-rw-r--r-- | libjava/java/lang/natWin32Process.cc | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libjava/java/lang/Win32Process.java b/libjava/java/lang/Win32Process.java index b1c7e027379..7a5872705b8 100644 --- a/libjava/java/lang/Win32Process.java +++ b/libjava/java/lang/Win32Process.java @@ -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); } diff --git a/libjava/java/lang/natWin32Process.cc b/libjava/java/lang/natWin32Process.cc index ff7ddb5f50a..710753ec215 100644 --- a/libjava/java/lang/natWin32Process.cc +++ b/libjava/java/lang/natWin32Process.cc @@ -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'; |