rsync/rsync-fix_fuzzy.patch

46 lines
1.0 KiB
Diff

--- flist.c 2007/09/10 14:55:19 1.5
+++ flist.c 2007/09/10 15:30:23
@@ -998,7 +998,7 @@
file->mode = tweak_mode(file->mode, chmod_modes);
#ifdef SUPPORT_ACLS
- if (preserve_acls) {
+ if (preserve_acls && f >= 0) {
sx.st.st_mode = file->mode;
sx.acc_acl = sx.def_acl = NULL;
if (get_acl(fname, &sx) < 0)
@@ -1006,7 +1006,7 @@
}
#endif
#ifdef SUPPORT_XATTRS
- if (preserve_xattrs) {
+ if (preserve_xattrs && f >= 0) {
sx.xattr = NULL;
if (get_xattr(fname, &sx) < 0)
return NULL;
@@ -1021,20 +1021,20 @@
flist->files[flist->count++] = file;
send_file_entry(file, f);
#ifdef SUPPORT_ACLS
- if (preserve_acls)
+ if (preserve_acls && f >= 0)
send_acl(&sx, f);
#endif
#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
+ if (preserve_xattrs && f >= 0)
send_xattr(&sx, f);
#endif
} else {
#ifdef SUPPORT_ACLS
- if (preserve_acls)
+ if (preserve_acls && f >= 0)
free_acl(&sx);
#endif
#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
+ if (preserve_xattrs && f >= 0)
free_xattr(&sx);
#endif
}