We can't decrement the in_progress value for a hard-linked file until
[rsync/rsync.git] / generator.c
index 6a13154..d82fa4a 100644 (file)
@@ -562,7 +562,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
                  && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
                 || (keep_time && cmp_time(file->modtime, sxp->st.st_mtime) != 0))
                        iflags |= ITEM_REPORT_TIME;
-#ifndef HAVE_LCHMOD
+#if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
                if (S_ISLNK(file->mode)) {
                        ;
                } else
@@ -1873,6 +1873,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
                file = flist->files[ndx - flist->ndx_start];
                assert(file->flags & FLAG_HLINKED);
                finish_hard_link(file, f_name(file, fbuf), ndx, NULL, itemizing, code, -1);
+               flist->in_progress--;
        }
 #endif