xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 9863fea78cf88b40827d0d61ced2608278094ea4
parent fbd8857d4d5edcbf97185d95fa57406d36e75b7b
Author: rsc <rsc>
Date:   Thu, 30 Aug 2007 18:30:26 +0000

clumsy cd

Diffstat:
Msh.c | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/sh.c b/sh.c @@ -157,6 +157,14 @@ main(void) // Read and run input commands. while(getcmd(buf, sizeof(buf)) >= 0){ + if(buf[0] == 'c' && buf[1] == 'd' && buf[2] == ' '){ + // Clumsy but will have to do for now. + // Chdir has no effect on the parent if run in the child. + buf[strlen(buf)-1] = 0; // chop \n + if(chdir(buf+3) < 0) + printf(2, "cannot cd %s\n", buf+3); + continue; + } if(fork1() == 0) runcmd(parsecmd(buf)); wait();