From: huangqinjin huangqinjin@gmail.com
Fixes https://bugs.winehq.org/show_bug.cgi?id=57137 --- programs/cmd/builtins.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index d7c5090d17f..f441070aa86 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -1806,6 +1806,7 @@ RETURN_CODE WCMD_pushd(const WCHAR *args)
RETURN_CODE WCMD_popd(void) { + RETURN_CODE return_code; struct env_stack *temp = pushd_directories;
if (!pushd_directories) @@ -1813,10 +1814,12 @@ RETURN_CODE WCMD_popd(void)
/* pop the old environment from the stack, and make it the current dir */ pushd_directories = temp->next; - SetCurrentDirectoryW(temp->strings); + /* Change directory using CD code with /D parameter */ + lstrcpyW(quals, L"/D"); + return_code = WCMD_setshow_default(temp->strings); free(temp->strings); free(temp); - return NO_ERROR; + return return_code; }
/****************************************************************************