From: Denis Vlasenko Date: Fri, 9 Feb 2007 17:30:14 +0000 (-0000) Subject: msh: fix my buglet X-Git-Tag: 1_5_1~182 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d244c5eaf80677bc785ada68d4bb805cdf2d4505;p=oweals%2Fbusybox.git msh: fix my buglet --- diff --git a/shell/msh.c b/shell/msh.c index a2da540b3..968f073cd 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -3157,12 +3157,15 @@ static int dochdir(struct op *t) cp = t->words[1]; if (cp == NULL) { cp = homedir->value; - if (cp == NULL) - er = ": no home directory"; - } else if (chdir(cp) < 0) + if (cp != NULL) + goto do_cd; + er = ": no home directory"; + } else { + do_cd: + if (chdir(cp) >= 0) + return 0; er = ": bad directory"; - else - return 0; + } prs(cp != NULL ? cp : "cd"); err(er); return 1;