X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/4d0ee3b498ffd848c3f81d23262298d89c98e5f2..87b845cf479e294fd9325ea48c1861f80106fb52:/sys/kern/vfs_syscalls.c diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index e4dd24642a..08824dbb83 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)vfs_syscalls.c 7.74 (Berkeley) 6/21/91 - * $Id: vfs_syscalls.c,v 1.7 1993/12/13 11:58:07 davidg Exp $ + * $Id: vfs_syscalls.c,v 1.9 1994/01/19 20:27:38 guido Exp $ */ #include "param.h" @@ -1463,7 +1463,12 @@ utimes(p, uap, retval) int error; struct nameidata nd; - if (error = copyin((caddr_t)uap->tptr, (caddr_t)tv, sizeof (tv))) + VATTR_NULL(&vattr); + if ((caddr_t)uap->tptr == NULL) { + microtime(&tv[0]); + tv[1] = tv[0]; + vattr.va_vaflags |= VA_UTIMES_NULL; + } else if (error = copyin((caddr_t)uap->tptr, (caddr_t)tv, sizeof (tv))) return (error); ndp = &nd; ndp->ni_nameiop = LOOKUP | FOLLOW | LOCKLEAF; @@ -1476,7 +1481,6 @@ utimes(p, uap, retval) error = EROFS; goto out; } - VATTR_NULL(&vattr); vattr.va_atime = tv[0]; vattr.va_mtime = tv[1]; error = VOP_SETATTR(vp, &vattr, p->p_ucred, p);