diff --git a/sbin/restore/dirs.c b/sbin/restore/dirs.c index 6338c24b4244..f30eacdc9094 100644 --- a/sbin/restore/dirs.c +++ b/sbin/restore/dirs.c @@ -631,8 +631,8 @@ setdirmodes(flags) cp = myname(ep); (void) chown(cp, node.uid, node.gid); (void) chmod(cp, node.mode); - (void) chflags(cp, node.flags); utimes(cp, node.timep); + (void) chflags(cp, node.flags); ep->e_flags &= ~NEW; } } diff --git a/sbin/restore/tape.c b/sbin/restore/tape.c index ed3258b716a8..21ac8b11294f 100644 --- a/sbin/restore/tape.c +++ b/sbin/restore/tape.c @@ -581,9 +581,9 @@ extractfile(name) } (void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid); (void) chmod(name, mode); + utimes(name, timep); (void) chflags(name, flags); skipfile(); - utimes(name, timep); return (GOOD); case IFCHR: @@ -603,9 +603,9 @@ extractfile(name) } (void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid); (void) chmod(name, mode); + utimes(name, timep); (void) chflags(name, flags); skipfile(); - utimes(name, timep); return (GOOD); case IFREG: @@ -625,10 +625,10 @@ extractfile(name) } (void) fchown(ofile, curfile.dip->di_uid, curfile.dip->di_gid); (void) fchmod(ofile, mode); - (void) fchflags(ofile, flags); getfile(xtrfile, xtrskip); (void) close(ofile); utimes(name, timep); + (void) chflags(name, flags); return (GOOD); } /* NOTREACHED */