Module: wine Branch: master Commit: 003bdf8e6909732a96ea0563a8f26b7ec801b36a URL: http://source.winehq.org/git/wine.git/?a=commit;h=003bdf8e6909732a96ea0563a8...
Author: Frédéric Delanoy frederic.delanoy@gmail.com Date: Sat Aug 27 02:11:28 2011 +0200
cmd: Ignore trailing whitespace when using cd.
---
programs/cmd/builtins.c | 2 ++ programs/cmd/tests/test_builtins.cmd | 30 ++++++++++-------------------- programs/cmd/tests/test_builtins.cmd.exp | 6 +++--- 3 files changed, 15 insertions(+), 23 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 5d7df82..a2c5eec 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -2118,6 +2118,8 @@ void WCMD_setshow_default (const WCHAR *command) { if (*command != '"') *pos++ = *command; command++; } + while (pos > command && (*(pos-1) == ' ' || *(pos-1) == '\t')) + pos--; *pos = 0x00;
/* Search for appropriate directory */ diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index 78eea97..1f9bb78 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -103,8 +103,7 @@ type foo del foo echo food21>>foo type foo -cd .. -rd /s/q foobar +cd .. & rd /s/q foobar
echo ------------ Testing ^^ escape character -------------- rem Using something like "echo foo^" asks for an additional char after a "More?" prompt on the following line; it's not possible to currently test that non-interactively @@ -494,8 +493,7 @@ if exist foo ( ) else ( echo *** ) -cd .. -rd foobar +cd .. & rd foobar
echo ------------ Testing if/else -------------- echo if/else should work with blocks @@ -594,8 +592,7 @@ rem del tmp rem for /d %%i in (*) do echo %%i>> tmp rem sort < tmp rem del tmp -cd .. -rd /s/Q foobar +cd .. & rd /s/Q foobar echo ...for /L rem Some cases loop forever writing 0s, like e.g. (1,0,1), (1,a,3) or (a,b,c); those can't be tested here for /L %%i in (1,2,0) do echo %%i @@ -899,8 +896,7 @@ if exist foo (echo foo created) else echo foo not created! if exist bar (echo bar created) else echo bar not created! if exist foobar (echo foobar created) else echo foobar not created! if exist bar\baz (echo bar\baz created) else echo bar\baz not created! -cd .. -rd /s/q foobaz +cd .. & rd /s/q foobaz call :setError 0 mkdir foo* echo mkdir foo* errorlevel %ErrorLevel% @@ -970,8 +966,7 @@ if not exist foo (echo foo removed) else echo foo not removed! if not exist bar (echo bar removed) else echo bar not removed! if not exist foobar (echo foobar removed) else echo foobar not removed! if not exist bar\baz (echo bar\baz removed) else echo bar\baz not removed! -cd .. -rd /s/q foobaz +cd .. & rd /s/q foobaz
echo ------------ Testing attrib -------------- rem FIXME Add tests for archive, hidden and system attributes + mixed attributes modifications @@ -1000,8 +995,7 @@ if not exist foo ( attrib -r foo del foo ) -cd .. -rd /s/q foobar +cd .. & rd /s/q foobar echo ... recursive behaviour mkdir foobar\baz & cd foobar echo > level1 @@ -1015,8 +1009,7 @@ attrib level1 attrib baz\level2 echo > bar attrib bar -cd .. -rd /s/q foobar +cd .. & rd /s/q foobar echo ... folders processing mkdir foobar attrib foobar @@ -1031,8 +1024,7 @@ type baz\toto echo > baz\lala rem Oddly windows allows file creation in a read-only directory... if exist baz\lala (echo file created in read-only dir) else echo file not created -cd .. -rd /s/q foobar +cd .. & rd /s/q foobar
echo ------------ Testing CALL -------------- mkdir foobar & cd foobar @@ -1091,8 +1083,7 @@ echo %ErrorLevel% rem First look for programs in the path before trying a builtin echo echo non-builtin dir> dir.cmd call dir /b -cd .. -rd /s/q foobar +cd .. & rd /s/q foobar
echo ------------ Testing setlocal/endlocal ------------ call :setError 0 @@ -1133,8 +1124,7 @@ set VAR=globalval call test.cmd echo %VAR% set VAR= -cd .. -rd /q/s foobar +cd .. & rd /q/s foobar
echo -----------Testing Errorlevel----------- rem WARNING: Do *not* add tests using ErrorLevel after this section diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 85afd34..17d828c 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -300,7 +300,7 @@ foo foo1 bar2@space@ foo2 -@todo_wine@foobar deleted +foobar deleted @todo_wine@...on success conditional && @todo_wine@foo3 not created bar4@space@ @@ -317,8 +317,8 @@ Current dir: @pwd@\foobar@or_broken@Current dir:@space@ @pwd@ @pwd@\foobar @pwd@ -@todo_wine@@pwd@ -@todo_wine@@pwd@ +@pwd@ +@pwd@ @pwd@\foobar\bar bak @pwd@\foobar\bar bak @pwd@\foobar\bar bak