X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/740bab942d222473c706918d77fe9851c9a51766..f80a8520e81d07a24f0db8776b75d8438edf9fb3:/receiver.c diff --git a/receiver.c b/receiver.c index 124a2808..3618ed19 100644 --- a/receiver.c +++ b/receiver.c @@ -122,16 +122,16 @@ void delete_files(struct file_list *flist) continue; if (flist_find(flist,local_file_list->files[i]) < 0) { char *f = f_name(local_file_list->files[i]); - if (make_backups && (backup_dir || !is_backup_file(f))) { + int mode = local_file_list->files[i]->mode; + if (make_backups && (backup_dir || !is_backup_file(f)) + && !S_ISDIR(mode)) { make_backup(f); if (verbose) { rprintf(FINFO, "deleting %s\n", safe_fname(f)); } - } else { - int mode = local_file_list->files[i]->mode; + } else delete_one(f, S_ISDIR(mode) != 0); - } deletion_count++; } }