-$Id: CHANGES,v 1.285 2007/02/22 20:12:50 stelian Exp $
+$Id: CHANGES,v 1.286 2007/02/22 20:16:23 stelian Exp $
Changes between versions 0.4b41 and 0.4b42 (released xxxxxxxxxxxxxxx)
=====================================================================
(see http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189845
for details)
+4. Fix EA set failures when restoring immutable files. Thanks
+ to Andrew Kroeger for the patch.
+
Changes between versions 0.4b40 and 0.4b41 (released January 2, 2006)
=====================================================================
#ifndef lint
static const char rcsid[] =
- "$Id: dirs.c,v 1.33 2005/05/28 18:34:47 stelian Exp $";
+ "$Id: dirs.c,v 1.34 2007/02/22 20:16:23 stelian Exp $";
#endif /* not lint */
#include <config.h>
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);
(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))
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.91 2007/02/22 20:12:50 stelian Exp $";
+ "$Id: tape.c,v 1.92 2007/02/22 20:16:23 stelian Exp $";
#endif /* not lint */
#include <config.h>
}
(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);
#endif
#endif
skipfile();
- extractattr(name);
- utimes(name, timep);
return (GOOD);
case IFCHR:
}
(void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid);
(void) chmod(name, mode);
+ extractattr(name);
+ utimes(name, timep);
if (flags)
#ifdef __linux__
{
#endif
#endif
skipfile();
- extractattr(name);
- utimes(name, timep);
return (GOOD);
case IFREG:
skipfile();
(void) chown(name, luid, lgid);
(void) chmod(name, mode);
+ extractattr(name);
+ utimes(name, timep);
if (flags)
#ifdef __linux__
(void) lsetflags(name, flags);
(void) chflags(name, flags);
#endif
#endif
- extractattr(name);
- utimes(name, timep);
return (GOOD);
}
}
(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 */