46 lines
1.0 KiB
Diff
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
|
|
}
|