iflags |= ITEM_XNAME_FOLLOWS;
itemize(fnamecmp, file, -1, real_ret, &real_sx, iflags, fnamecmp_type,
fuzzy_file ? fuzzy_file->basename : NULL);
-#ifdef SUPPORT_ACLS
- if (preserve_acls)
- free_acl(&real_sx);
-#endif
-#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
- free_xattr(&real_sx);
-#endif
+ free_stat_x(&real_sx);
}
if (!do_xfers) {
unmake_file(back_file);
}
-#ifdef SUPPORT_ACLS
- if (preserve_acls)
- free_acl(&sx);
-#endif
-#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
- free_xattr(&sx);
-#endif
- return;
+ free_stat_x(&sx);
}
/* If we are replacing an existing hard link, symlink, device, or special file,
}
}
#endif
- } else {
-#ifdef SUPPORT_ACLS
- if (preserve_acls)
- free_acl(&alt_sx);
-#endif
-#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
- free_xattr(&alt_sx);
-#endif
- }
+ } else
+ free_stat_x(&alt_sx);
}
if (maybe_hard_link(file, ndx, fname, statret, sxp, prev_name, &prev_st,
val = maybe_hard_link(file, ndx, prev_name, prev_statret, &prev_sx,
our_name, stp, fname, itemizing, code);
flist->in_progress--;
-#ifdef SUPPORT_ACLS
- if (preserve_acls)
- free_acl(&prev_sx);
-#endif
-#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
- free_xattr(&prev_sx);
-#endif
+ free_stat_x(&prev_sx);
if (val < 0)
continue;
if (remove_source_files == 1 && do_xfers)
sx_p->xattr = NULL;
#endif
}
+
+static inline void
+free_stat_x(stat_x *sx_p)
+{
+ extern int preserve_acls, preserve_xattrs;
+#ifdef SUPPORT_ACLS
+ if (preserve_acls)
+ free_acl(sx_p);
+#endif
+#ifdef SUPPORT_XATTRS
+ if (preserve_xattrs)
+ free_xattr(sx_p);
+#endif
+}
rprintf(FCLIENT, "%s is uptodate\n", fname);
}
cleanup:
- if (sxp == &sx2) {
-#ifdef SUPPORT_ACLS
- if (preserve_acls)
- free_acl(&sx2);
-#endif
-#ifdef SUPPORT_XATTRS
- if (preserve_xattrs)
- free_xattr(&sx2);
-#endif
- }
+ if (sxp == &sx2)
+ free_stat_x(&sx2);
return updated;
}