diff options
Diffstat (limited to 'sbin/restore/dirs.c')
-rw-r--r-- | sbin/restore/dirs.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sbin/restore/dirs.c b/sbin/restore/dirs.c index 7b308cd02415..b2cd8fd28869 100644 --- a/sbin/restore/dirs.c +++ b/sbin/restore/dirs.c @@ -80,8 +80,8 @@ static struct inotab *inotab[HASHSIZE]; */ struct modeinfo { ino_t ino; - struct timespec ctimep[2]; - struct timespec mtimep[2]; + struct timeval ctimep[2]; + struct timeval mtimep[2]; mode_t mode; uid_t uid; gid_t gid; @@ -656,8 +656,8 @@ setdirmodes(int flags) else (void) chown(cp, node.uid, node.gid); (void) chmod(cp, node.mode); - utimensat(AT_FDCWD, cp, node.ctimep, 0); - utimensat(AT_FDCWD, cp, node.mtimep, 0); + utimes(cp, node.ctimep); + utimes(cp, node.mtimep); (void) chflags(cp, node.flags); } ep->e_flags &= ~NEW; @@ -746,13 +746,13 @@ allocinotab(struct context *ctxp, long seekpt) return (itp); node.ino = ctxp->ino; node.mtimep[0].tv_sec = ctxp->atime_sec; - node.mtimep[0].tv_nsec = ctxp->atime_nsec; + node.mtimep[0].tv_usec = ctxp->atime_nsec / 1000; node.mtimep[1].tv_sec = ctxp->mtime_sec; - node.mtimep[1].tv_nsec = ctxp->mtime_nsec; + node.mtimep[1].tv_usec = ctxp->mtime_nsec / 1000; node.ctimep[0].tv_sec = ctxp->atime_sec; - node.ctimep[0].tv_nsec = ctxp->atime_nsec; + node.ctimep[0].tv_usec = ctxp->atime_nsec / 1000; node.ctimep[1].tv_sec = ctxp->birthtime_sec; - node.ctimep[1].tv_nsec = ctxp->birthtime_nsec; + node.ctimep[1].tv_usec = ctxp->birthtime_nsec / 1000; node.extsize = ctxp->extsize; node.mode = ctxp->mode; node.flags = ctxp->file_flags; |