int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
{
+#ifndef HAVE_LUTIMES
+ if (S_ISLNK(file->mode)) {
+ ;
+ } else
+#endif
+ if (preserve_times && cmp_time(sxp->st.st_mtime, file->modtime) != 0)
+ return 0;
+
if (preserve_perms && !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS))
return 0;
case 2:
if (!unchanged_attrs(cmpbuf, file, sxp))
continue;
- if (always_checksum > 0 && preserve_times
- && cmp_time(sxp->st.st_mtime, file->modtime))
- continue;
best_match = j;
match_level = 3;
break;
do {
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && inc_recurse) {
- while (!flist_eof) {
- int cnt = first_flist->prev
- ? first_flist->prev->ndx_end - first_flist->ndx_start + 1
- : first_flist->ndx_end - first_flist->ndx_start + 1;
- if (cnt >= FILECNT_LOOKAHEAD/2)
- break;
+ while (!flist_eof && file_total < FILECNT_LOOKAHEAD/2)
wait_for_receiver();
- }
}
#endif