X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b43db229b74ad8457539eb771e9733aeeccffb6f..b111f11eb61fe410aeddd20ec938df601f96d152:/generator.c diff --git a/generator.c b/generator.c index ec33d5a3..a9f9306c 100644 --- a/generator.c +++ b/generator.c @@ -50,7 +50,7 @@ extern int delete_mode; extern int delete_before; extern int delete_during; extern int delete_after; -extern int delete_missing_args; +extern int missing_args; extern int msgdone_cnt; extern int ignore_errors; extern int remove_source_files; @@ -98,7 +98,7 @@ extern char *backup_dir; extern char *backup_suffix; extern int backup_suffix_len; extern struct file_list *cur_flist, *first_flist, *dir_flist; -extern struct filter_list_struct daemon_filter_list; +extern struct filter_list_struct filter_list, daemon_filter_list; int ignore_perishable = 0; int non_perishable_cnt = 0; @@ -1223,7 +1223,7 @@ static void list_file_entry(struct file_struct *f) f_name(f, NULL), F_SYMLINK(f)); } else #endif - if (delete_missing_args && !f->mode) { + if (missing_args == 2 && f->mode == 0) { rprintf(FINFO, "%-*s %s\n", /*colwidth*/11 + 31, "*missing", f_name(f, NULL)); @@ -1374,7 +1374,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, stat_errno = errno; } - if (delete_missing_args && file->mode == 0) { + if (missing_args == 2 && file->mode == 0) { + if (filter_list.head && check_filter(&filter_list, FINFO, fname, is_dir) < 0) + return; if (statret == 0) delete_item(fname, sx.st.st_mode, del_opts); return;