diff options
| -rw-r--r-- | shell/ash.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/shell/ash.c b/shell/ash.c index df27e9c8d..dc2115414 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
| @@ -16235,11 +16235,7 @@ int ash_main(int argc UNUSED_PARAM, char **argv) | |||
| 16235 | #endif | 16235 | #endif |
| 16236 | 16236 | ||
| 16237 | #if ENABLE_PLATFORM_MINGW32 | 16237 | #if ENABLE_PLATFORM_MINGW32 |
| 16238 | if (dirarg) { | 16238 | if (!dirarg && !login_sh && iflag) { |
| 16239 | chdir(dirarg); | ||
| 16240 | setpwd(NULL, 0); | ||
| 16241 | } | ||
| 16242 | else if (!login_sh && iflag) { | ||
| 16243 | char *cwd = getcwd(NULL, 0); | 16239 | char *cwd = getcwd(NULL, 0); |
| 16244 | if (cwd) { | 16240 | if (cwd) { |
| 16245 | chdir(cwd); | 16241 | chdir(cwd); |
| @@ -16281,6 +16277,12 @@ int ash_main(int argc UNUSED_PARAM, char **argv) | |||
| 16281 | } | 16277 | } |
| 16282 | state2: | 16278 | state2: |
| 16283 | state = 3; | 16279 | state = 3; |
| 16280 | #if ENABLE_PLATFORM_MINGW32 | ||
| 16281 | if (dirarg) { | ||
| 16282 | chdir(dirarg); | ||
| 16283 | setpwd(NULL, 0); | ||
| 16284 | } | ||
| 16285 | #endif | ||
| 16284 | if (iflag | 16286 | if (iflag |
| 16285 | #if ENABLE_PLATFORM_POSIX | 16287 | #if ENABLE_PLATFORM_POSIX |
| 16286 | #ifndef linux | 16288 | #ifndef linux |
