From 3cd864bdf8a4565442a57a05a91b372ae0a4ca70 Mon Sep 17 00:00:00 2001 From: Dan Kegel Date: Tue, 2 Aug 2011 12:21:31 -0700 Subject: [PATCH] cmd: mkdir: Set errorlevel on invalid argument. --- programs/cmd/builtins.c | 1 + programs/cmd/tests/test_builtins.cmd | 8 ++++---- programs/cmd/tests/test_builtins.cmd.exp | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 58050cf06fe..7e5ceaf4d65 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -537,6 +537,7 @@ void WCMD_create_dir (WCHAR *command) { if (!argN) break; if (!create_full_path(thisArg)) { WCMD_print_error (); + errorlevel = 1; } } } diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index be1eead20f2..2cbff33e34b 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -485,18 +485,18 @@ if exist foo (rmdir foo & echo dir created echo %ErrorLevel% rem Invalid chars mkdir ? -echo %ErrorLevel% +echo mkdir ? gives errorlevel %ErrorLevel% call :setError 0 mkdir ?\foo -echo %ErrorLevel% +echo mkdir ?\foo gives errorlevel %ErrorLevel% call :setError 0 mkdir foo\? -echo %ErrorLevel% +echo mkdir foo\? gives errorlevel %ErrorLevel% if exist foo (rmdir foo & echo ok, foo created ) else ( echo foo not created ) call :setError 0 mkdir foo\bar\? -echo %ErrorLevel% +echo mkdir foo\bar\? gives errorlevel %ErrorLevel% call :setError 0 if not exist foo ( echo bad, foo not created diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 8db75a7e895..f64150de223 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -277,11 +277,11 @@ del /q * succeeded on file2.dat 0 dir created 0 -@todo_wine@1 -@todo_wine@1 -@todo_wine@1 +mkdir ? gives errorlevel 1 +mkdir ?\foo gives errorlevel 1 +mkdir foo\? gives errorlevel 1 @todo_wine@ok, foo created -@todo_wine@1 +mkdir foo\bar\? gives errorlevel 1 @todo_wine@ok, foo\bar created foo created bar created