diff options
author | bde <bde@FreeBSD.org> | 1997-12-02 10:32:21 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1997-12-02 10:32:21 +0000 |
commit | 65d8d62f5977cdb1ed59b934acfa8f65a0b85202 (patch) | |
tree | 4f6e25dc4f6b3d929e30d0275b3d62682ef3f0fe | |
parent | a4d6fae045ffd29e59cfdfac01ef83a0fd2bc1fe (diff) | |
download | FreeBSD-src-65d8d62f5977cdb1ed59b934acfa8f65a0b85202.zip FreeBSD-src-65d8d62f5977cdb1ed59b934acfa8f65a0b85202.tar.gz |
Cleaned up __getcwd(). This should be cosmetic except disabled calls
are now counted.
Reviewed by: phk
-rw-r--r-- | sys/kern/vfs_extattr.c | 21 | ||||
-rw-r--r-- | sys/kern/vfs_syscalls.c | 21 |
2 files changed, 20 insertions, 22 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index b417fbb..e9497c7 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 - * $Id: vfs_syscalls.c,v 1.83 1997/11/22 06:10:36 bde Exp $ + * $Id: vfs_syscalls.c,v 1.84 1997/11/22 06:41:21 bde Exp $ */ /* @@ -2752,17 +2752,15 @@ __getcwd(p, uap) struct proc *p; struct __getcwd_args *uap; { + char *bp, *buf; + int error, i, slash_prefixed; struct filedesc *fdp; - struct vnode *vp; struct namecache *ncp; - char *buf, *bp; - int i, j, error; + struct vnode *vp; + numcwdcalls++; if (disablecwd) return (ENODEV); - fdp = p->p_fd; - j = 0; - error = 0; if (uap->buflen < 2) return (EINVAL); if (uap->buflen > MAXPATHLEN) @@ -2770,7 +2768,8 @@ __getcwd(p, uap) buf = bp = malloc(uap->buflen, M_TEMP, M_WAITOK); bp += uap->buflen - 1; *bp = '\0'; - numcwdcalls++; + fdp = p->p_fd; + slash_prefixed = 0; for (vp = fdp->fd_cdir; vp != fdp->fd_rdir && vp != rootvnode;) { if (vp->v_flag & VROOT) { vp = vp->v_mount->mnt_vnodecovered; @@ -2792,7 +2791,7 @@ __getcwd(p, uap) free(buf, M_TEMP); return (EBADF); } - for (i=ncp->nc_nlen - 1; i >= 0; i--) { + for (i = ncp->nc_nlen - 1; i >= 0; i--) { if (bp == buf) { numcwdfail4++; free(buf, M_TEMP); @@ -2806,10 +2805,10 @@ __getcwd(p, uap) return (ENOMEM); } *--bp = '/'; - j++; + slash_prefixed = 1; vp = vp->v_dd; } - if (!j) { + if (!slash_prefixed) { if (bp == buf) { numcwdfail4++; free(buf, M_TEMP); diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index b417fbb..e9497c7 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 - * $Id: vfs_syscalls.c,v 1.83 1997/11/22 06:10:36 bde Exp $ + * $Id: vfs_syscalls.c,v 1.84 1997/11/22 06:41:21 bde Exp $ */ /* @@ -2752,17 +2752,15 @@ __getcwd(p, uap) struct proc *p; struct __getcwd_args *uap; { + char *bp, *buf; + int error, i, slash_prefixed; struct filedesc *fdp; - struct vnode *vp; struct namecache *ncp; - char *buf, *bp; - int i, j, error; + struct vnode *vp; + numcwdcalls++; if (disablecwd) return (ENODEV); - fdp = p->p_fd; - j = 0; - error = 0; if (uap->buflen < 2) return (EINVAL); if (uap->buflen > MAXPATHLEN) @@ -2770,7 +2768,8 @@ __getcwd(p, uap) buf = bp = malloc(uap->buflen, M_TEMP, M_WAITOK); bp += uap->buflen - 1; *bp = '\0'; - numcwdcalls++; + fdp = p->p_fd; + slash_prefixed = 0; for (vp = fdp->fd_cdir; vp != fdp->fd_rdir && vp != rootvnode;) { if (vp->v_flag & VROOT) { vp = vp->v_mount->mnt_vnodecovered; @@ -2792,7 +2791,7 @@ __getcwd(p, uap) free(buf, M_TEMP); return (EBADF); } - for (i=ncp->nc_nlen - 1; i >= 0; i--) { + for (i = ncp->nc_nlen - 1; i >= 0; i--) { if (bp == buf) { numcwdfail4++; free(buf, M_TEMP); @@ -2806,10 +2805,10 @@ __getcwd(p, uap) return (ENOMEM); } *--bp = '/'; - j++; + slash_prefixed = 1; vp = vp->v_dd; } - if (!j) { + if (!slash_prefixed) { if (bp == buf) { numcwdfail4++; free(buf, M_TEMP); |