93 lines
2.2 KiB
Diff
93 lines
2.2 KiB
Diff
diff -ur dump-0.4b41.orig/restore/dirs.c dump-0.4b41/restore/dirs.c
|
|
--- dump-0.4b41.orig/restore/dirs.c 2005-05-28 13:34:47.000000000 -0500
|
|
+++ dump-0.4b41/restore/dirs.c 2007-01-26 18:32:02.000000000 -0600
|
|
@@ -710,6 +710,10 @@
|
|
cp = myname(ep);
|
|
(void) chown(cp, node.uid, node.gid);
|
|
(void) chmod(cp, node.mode);
|
|
+ utimes(cp, node.timep);
|
|
+ if (node.xattr)
|
|
+ xattr_extract(cp, xattr);
|
|
+ ep->e_flags &= ~NEW;
|
|
if (node.flags)
|
|
#ifdef __linux__
|
|
(void) lsetflags(cp, node.flags);
|
|
@@ -719,10 +723,6 @@
|
|
(void) chflags(cp, node.flags);
|
|
#endif
|
|
#endif
|
|
- utimes(cp, node.timep);
|
|
- if (node.xattr)
|
|
- xattr_extract(cp, xattr);
|
|
- ep->e_flags &= ~NEW;
|
|
}
|
|
}
|
|
if (ferror(mf))
|
|
diff -ur dump-0.4b41.orig/restore/tape.c dump-0.4b41/restore/tape.c
|
|
--- dump-0.4b41.orig/restore/tape.c 2007-01-26 18:14:25.000000000 -0600
|
|
+++ dump-0.4b41/restore/tape.c 2007-01-26 18:51:52.000000000 -0600
|
|
@@ -908,6 +908,8 @@
|
|
}
|
|
(void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid);
|
|
(void) chmod(name, mode);
|
|
+ extractattr(name);
|
|
+ utimes(name, timep);
|
|
if (flags)
|
|
#ifdef __linux__
|
|
(void) lsetflags(name, flags);
|
|
@@ -922,8 +924,6 @@
|
|
#endif
|
|
#endif
|
|
skipfile();
|
|
- extractattr(name);
|
|
- utimes(name, timep);
|
|
return (GOOD);
|
|
|
|
case IFCHR:
|
|
@@ -944,6 +944,8 @@
|
|
}
|
|
(void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid);
|
|
(void) chmod(name, mode);
|
|
+ extractattr(name);
|
|
+ utimes(name, timep);
|
|
if (flags)
|
|
#ifdef __linux__
|
|
{
|
|
@@ -964,8 +966,6 @@
|
|
#endif
|
|
#endif
|
|
skipfile();
|
|
- extractattr(name);
|
|
- utimes(name, timep);
|
|
return (GOOD);
|
|
|
|
case IFREG:
|
|
@@ -994,6 +994,8 @@
|
|
skipfile();
|
|
(void) chown(name, luid, lgid);
|
|
(void) chmod(name, mode);
|
|
+ extractattr(name);
|
|
+ utimes(name, timep);
|
|
if (flags)
|
|
#ifdef __linux__
|
|
(void) lsetflags(name, flags);
|
|
@@ -1007,8 +1009,6 @@
|
|
(void) chflags(name, flags);
|
|
#endif
|
|
#endif
|
|
- extractattr(name);
|
|
- utimes(name, timep);
|
|
return (GOOD);
|
|
}
|
|
}
|
|
@@ -1216,8 +1216,8 @@
|
|
(void) fchown(ofile, uid, gid);
|
|
(void) fchmod(ofile, mode);
|
|
(void) close(ofile);
|
|
- (void) lsetflags(oFileRsrc, flags);
|
|
utimes(oFileRsrc, timep);
|
|
+ (void) lsetflags(oFileRsrc, flags);
|
|
return (GOOD);
|
|
}
|
|
/* NOTREACHED */
|