X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/a056450fe7e055a92d17f7dcbddb486c0c34b577..1e608f176ebad330284adccd1b67e6c4a6312656:/usr/src/sys/kern/vfs_syscalls.c diff --git a/usr/src/sys/kern/vfs_syscalls.c b/usr/src/sys/kern/vfs_syscalls.c index aec349e089..7f0257cf8d 100644 --- a/usr/src/sys/kern/vfs_syscalls.c +++ b/usr/src/sys/kern/vfs_syscalls.c @@ -1,4 +1,4 @@ -/* vfs_syscalls.c 4.7 %G% */ +/* vfs_syscalls.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip);