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;
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;
F_SYMLINK(f));
} else
#endif
- {
+ if (missing_args == 2 && f->mode == 0) {
+ 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));
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;