From 8787cd01dfa6080d219f3dd7bbf03f3eb988a74e Mon Sep 17 00:00:00 2001 From: kaashoek Date: Sat, 19 Aug 2006 23:41:34 +0000 Subject: chdir cd in shell nits in mkdir, ls, etc. --- fs.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'fs.c') diff --git a/fs.c b/fs.c index 530ef03..ed62970 100644 --- a/fs.c +++ b/fs.c @@ -385,6 +385,7 @@ struct inode * namei(char *path, int mode, uint *ret_off) { struct inode *dp; + struct proc *p = curproc[cpu()]; char *cp = path, *cp1; uint off, dev; struct buf *bp; @@ -392,7 +393,12 @@ namei(char *path, int mode, uint *ret_off) int i, atend; unsigned ninum; - dp = iget(rootdev, 1); + if (*cp == '/') dp = iget(rootdev, 1); + else { + dp = p->cwd; + iincref(dp); + ilock(dp); + } while(*cp == '/') cp++; -- cgit v1.2.3