Module: wine Branch: master Commit: e5a26bc24d5dc390ebcce99dd6ae677c1f10ee34 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e5a26bc24d5dc390ebcce99dd6...
Author: Jason Edmeades us@edmeades.me.uk Date: Thu Mar 8 00:44:09 2007 +0000
cmd.exe: Support PUSHD with wildcards.
---
programs/cmd/builtins.c | 9 ++++----- programs/cmd/wcmd.h | 2 +- programs/cmd/wcmdmain.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 1880682..422042e 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -600,9 +600,8 @@ void WCMD_goto (void) { * Push a directory onto the stack */
-void WCMD_pushd (void) { +void WCMD_pushd (char *command) { struct env_stack *curdir; - BOOL status; WCHAR *thisdir;
curdir = LocalAlloc (LMEM_FIXED, sizeof (struct env_stack)); @@ -615,9 +614,9 @@ void WCMD_pushd (void) { }
GetCurrentDirectoryW (1024, thisdir); - status = SetCurrentDirectoryA (param1); - if (!status) { - WCMD_print_error (); + errorlevel = 0; + WCMD_setshow_default(command); + if (errorlevel) { LocalFree(curdir); LocalFree(thisdir); return; diff --git a/programs/cmd/wcmd.h b/programs/cmd/wcmd.h index af5b247..53f163c 100644 --- a/programs/cmd/wcmd.h +++ b/programs/cmd/wcmd.h @@ -55,7 +55,7 @@ void WCMD_pipe (char *command); void WCMD_popd (void); void WCMD_print_error (void); void WCMD_process_command (char *command); -void WCMD_pushd (void); +void WCMD_pushd (char *); int WCMD_read_console (char *string, int str_len); void WCMD_remove_dir (char *command); void WCMD_rename (void); diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index 8fc23d6..1a093fa 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -640,7 +640,7 @@ void WCMD_process_command (char *command) WCMD_volume (0, p); break; case WCMD_PUSHD: - WCMD_pushd(); + WCMD_pushd(p); break; case WCMD_POPD: WCMD_popd();