Commit bbdaed2f authored by Frédéric Delanoy's avatar Frédéric Delanoy Committed by Alexandre Julliard

cmd: Fix redirection handle parsing.

parent 523683d7
......@@ -81,6 +81,12 @@ echo foo>foo
type foo
echo foo 1> foo
type foo
echo foo@tab@1> foo
type foo
echo foo 1>@tab@foo
type foo
echo foo@tab@1>@tab@foo
type foo
echo foo7 7> foo
type foo
echo foo9 9> foo
......@@ -91,6 +97,9 @@ echo foo11> foo
type foo
echo foo12> foo
type foo
del foo
echo1>foo
type foo
echo ...stdout appending
echo foo>foo
echo foo >>foo
......
......@@ -120,11 +120,14 @@ word
...stdout redirection
foo
foo@space@
foo7@space@@or_broken@foo@space@
foo9@space@@or_broken@foo@space@
@todo_wine@foo1
@todo_wine@foo11
@todo_wine@foo12
foo@tab@
foo@space@
foo@tab@
foo7@space@@or_broken@foo@tab@
foo9@space@@or_broken@foo@tab@
foo1
foo11
foo12
...stdout appending
foo
foo@space@
......@@ -133,12 +136,12 @@ foob@space@
fooc@space@
foob@space@
fooc@space@
@todo_wine@food1
@todo_wine@foob@space@
@todo_wine@fooc@space@
@todo_wine@food1
@todo_wine@food2
@todo_wine@food21
food1
foob@space@
fooc@space@
food1
food2
food21
@todo_wine@foo7@space@@space@@or_broken@not supported@space@
@todo_wine@foo@or_broken@not supported
@todo_wine@------------ Testing ^ escape character --------------
......@@ -621,7 +624,7 @@ lulu
file created in read-only dir
------------ Testing CALL --------------
foo@space@
@todo_wine@foo 8
foo 8
foo@space@@space@
foo bar@space@
@todo_wine@foo ""@space@
......
......@@ -1944,10 +1944,11 @@ WCHAR *WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_LIST **output, HANDLE
}
/* See if 1>, 2> etc, in which case we have some patching up
to do */
if (curPos != extraSpace &&
*(curPos-1)>='1' && *(curPos-1)<='9') {
to do (provided there's a preceding whitespace, and enough
chars read so far) */
if (curStringLen > 2
&& (*(curPos-1)>='1') && (*(curPos-1)<='9')
&& ((*(curPos-2)==' ') || (*(curPos-2)=='\t'))) {
curStringLen--;
curString[curStringLen] = 0x00;
curCopyTo[(*curLen)++] = *(curPos-1);
......
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