cmd: Fix redirection handle parsing.
This commit is contained in:
parent
523683d788
commit
bbdaed2f33
@ -81,6 +81,12 @@ echo foo>foo
|
|||||||
type foo
|
type foo
|
||||||
echo foo 1> foo
|
echo foo 1> foo
|
||||||
type 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
|
echo foo7 7> foo
|
||||||
type foo
|
type foo
|
||||||
echo foo9 9> foo
|
echo foo9 9> foo
|
||||||
@ -91,6 +97,9 @@ echo foo11> foo
|
|||||||
type foo
|
type foo
|
||||||
echo foo12> foo
|
echo foo12> foo
|
||||||
type foo
|
type foo
|
||||||
|
del foo
|
||||||
|
echo1>foo
|
||||||
|
type foo
|
||||||
echo ...stdout appending
|
echo ...stdout appending
|
||||||
echo foo>foo
|
echo foo>foo
|
||||||
echo foo >>foo
|
echo foo >>foo
|
||||||
|
@ -120,11 +120,14 @@ word
|
|||||||
...stdout redirection
|
...stdout redirection
|
||||||
foo
|
foo
|
||||||
foo@space@
|
foo@space@
|
||||||
foo7@space@@or_broken@foo@space@
|
foo@tab@
|
||||||
foo9@space@@or_broken@foo@space@
|
foo@space@
|
||||||
@todo_wine@foo1
|
foo@tab@
|
||||||
@todo_wine@foo11
|
foo7@space@@or_broken@foo@tab@
|
||||||
@todo_wine@foo12
|
foo9@space@@or_broken@foo@tab@
|
||||||
|
foo1
|
||||||
|
foo11
|
||||||
|
foo12
|
||||||
...stdout appending
|
...stdout appending
|
||||||
foo
|
foo
|
||||||
foo@space@
|
foo@space@
|
||||||
@ -133,12 +136,12 @@ foob@space@
|
|||||||
fooc@space@
|
fooc@space@
|
||||||
foob@space@
|
foob@space@
|
||||||
fooc@space@
|
fooc@space@
|
||||||
@todo_wine@food1
|
food1
|
||||||
@todo_wine@foob@space@
|
foob@space@
|
||||||
@todo_wine@fooc@space@
|
fooc@space@
|
||||||
@todo_wine@food1
|
food1
|
||||||
@todo_wine@food2
|
food2
|
||||||
@todo_wine@food21
|
food21
|
||||||
@todo_wine@foo7@space@@space@@or_broken@not supported@space@
|
@todo_wine@foo7@space@@space@@or_broken@not supported@space@
|
||||||
@todo_wine@foo@or_broken@not supported
|
@todo_wine@foo@or_broken@not supported
|
||||||
@todo_wine@------------ Testing ^ escape character --------------
|
@todo_wine@------------ Testing ^ escape character --------------
|
||||||
@ -621,7 +624,7 @@ lulu
|
|||||||
file created in read-only dir
|
file created in read-only dir
|
||||||
------------ Testing CALL --------------
|
------------ Testing CALL --------------
|
||||||
foo@space@
|
foo@space@
|
||||||
@todo_wine@foo 8
|
foo 8
|
||||||
foo@space@@space@
|
foo@space@@space@
|
||||||
foo bar@space@
|
foo bar@space@
|
||||||
@todo_wine@foo ""@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
|
/* See if 1>, 2> etc, in which case we have some patching up
|
||||||
to do */
|
to do (provided there's a preceding whitespace, and enough
|
||||||
if (curPos != extraSpace &&
|
chars read so far) */
|
||||||
*(curPos-1)>='1' && *(curPos-1)<='9') {
|
if (curStringLen > 2
|
||||||
|
&& (*(curPos-1)>='1') && (*(curPos-1)<='9')
|
||||||
|
&& ((*(curPos-2)==' ') || (*(curPos-2)=='\t'))) {
|
||||||
curStringLen--;
|
curStringLen--;
|
||||||
curString[curStringLen] = 0x00;
|
curString[curStringLen] = 0x00;
|
||||||
curCopyTo[(*curLen)++] = *(curPos-1);
|
curCopyTo[(*curLen)++] = *(curPos-1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user