Commit fc1bb9af authored by Francesco Noferi's avatar Francesco Noferi Committed by Alexandre Julliard

cmd.exe: Fix parsing of && between quotes.

parent a26bb7b2
...@@ -178,6 +178,10 @@ rem cond 5 - string between quotes must be name of executable ...@@ -178,6 +178,10 @@ rem cond 5 - string between quotes must be name of executable
cmd /c "say five" cmd /c "say five"
echo @echo 5 >"say five.bat" echo @echo 5 >"say five.bat"
cmd /c "say five" cmd /c "say five"
rem cond 6 - && between quotes
cd .&&"cmd.exe" /c "echo hi"
cd "."&&cmd.exe /c "echo hi"
cd "."&&"cmd.exe" /c "echo hi"
echo ------- Testing CMD /C qualifier treatment ------------ echo ------- Testing CMD /C qualifier treatment ------------
rem no need for space after /c rem no need for space after /c
......
...@@ -87,6 +87,9 @@ Passed ...@@ -87,6 +87,9 @@ Passed
2@space@ 2@space@
0@space@ 0@space@
5@space@ 5@space@
hi
hi
hi
------- Testing CMD /C qualifier treatment ------------ ------- Testing CMD /C qualifier treatment ------------
0@space@ 0@space@
1@space@ 1@space@
......
...@@ -1792,7 +1792,8 @@ static BOOL WCMD_IsEndQuote(const WCHAR *quote, int quoteIndex) ...@@ -1792,7 +1792,8 @@ static BOOL WCMD_IsEndQuote(const WCHAR *quote, int quoteIndex)
/* Quote counting ends at EOL, redirection, space or pipe if current quote is complete */ /* Quote counting ends at EOL, redirection, space or pipe if current quote is complete */
else if(((quoteCount % 2) == 0) else if(((quoteCount % 2) == 0)
&& ((quote[i] == '<') || (quote[i] == '>') || (quote[i] == '|') || (quote[i] == ' '))) && ((quote[i] == '<') || (quote[i] == '>') || (quote[i] == '|') || (quote[i] == ' ') ||
(quote[i] == '&')))
{ {
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment