X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/fd78520dcad9247170341ae0f874085c8adaf219..93204ccae21d3e623563bec7a037bb47a9e6f997:/generator.c diff --git a/generator.c b/generator.c index 6a131540..47803c11 100644 --- a/generator.c +++ b/generator.c @@ -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 @@ -904,7 +904,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx, #ifdef SUPPORT_HARD_LINKS try_a_copy: /* Copy the file locally. */ #endif - if (copy_file(cmpbuf, fname, file->mode, 0) < 0) { + if (!dry_run && copy_file(cmpbuf, fname, file->mode, 0) < 0) { if (verbose) { rsyserr(FINFO, errno, "copy_file %s => %s", full_fname(cmpbuf), fname); @@ -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