X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ce66f41791ab9e3c684a2089da28f23943d720b8..778124188914358b2a1d4e0046401acf6551ea76:/generator.c diff --git a/generator.c b/generator.c index a9f3374d..4fad7f71 100644 --- a/generator.c +++ b/generator.c @@ -97,7 +97,7 @@ extern mode_t orig_umask; extern uid_t our_uid; extern char *basis_dir[MAX_BASIS_DIRS+1]; 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 maybe_ATTRS_REPORT = 0; @@ -1031,7 +1031,11 @@ static void list_file_entry(struct file_struct *f) F_SYMLINK(f)); } else #endif - { + if (delete_missing_args && !f->mode) { + rprintf(FINFO, "%-*s %s\n", + colwidth + 31, "*missing", + f_name(f, NULL)); + } else { rprintf(FINFO, "%s %*s %s %s\n", permbuf, colwidth, comma_num(len), timestring(f->modtime), f_name(f, NULL)); @@ -1174,6 +1178,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, } if (delete_missing_args && 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;