X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/de8c8b28c03d5e0d4d745f804aef781cd276c379..26ac181223325fbeadac5c8620e7758fd5d68985:/generator.c diff --git a/generator.c b/generator.c index 407a83f5..5f042936 100644 --- a/generator.c +++ b/generator.c @@ -1578,7 +1578,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, goto cleanup; } - if (append_mode > 0 && sx.st.st_size > F_LENGTH(file)) + if (append_mode > 0 && sx.st.st_size >= F_LENGTH(file)) goto cleanup; if (fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH) @@ -1761,15 +1761,15 @@ static void touch_up_dirs(struct file_list *flist, int ndx) * transfer and/or re-set any tweaked modified-time values. */ for (i = start; i <= end; i++, counter++) { file = flist->files[i]; + if (!S_ISDIR(file->mode)) + continue; if (verbose > 3) { fname = f_name(file, NULL); rprintf(FINFO, "touch_up_dirs: %s (%d)\n", NS(fname), i); } - if (!F_IS_ACTIVE(file) || !S_ISDIR(file->mode) - || file->flags & FLAG_MISSING_DIR) - continue; - if (!need_retouch_dir_times && file->mode & S_IWUSR) + if (!F_IS_ACTIVE(file) || file->flags & FLAG_MISSING_DIR + || (!need_retouch_dir_times && file->mode & S_IWUSR)) continue; fname = f_name(file, NULL); if (!(file->mode & S_IWUSR))