send_directory(ignore_filter_rules ? -2 : -1, dirlist, dirbuf, dlen);
recurse = save_recurse;
+ clean_flist(dirlist, 0, 0);
+
return dirlist;
}
struct file_list *dirlist;
char buf[MAXPATHLEN];
int j, zap_dir, ok;
+ void *save_filters;
if (max_delete && deletion_count >= max_delete)
return -1;
}
flags |= DEL_FORCE_RECURSE;
+ save_filters = push_local_filters(fname, strlen(fname));
+
dirlist = get_dirlist(fname, 0);
- for (j = dirlist->count; j-- > 0; ) {
+ for (j = dirlist->count; j--; ) {
struct file_struct *fp = dirlist->files[j];
f_name_to(fp, buf);
if (delete_file(buf, fp->mode, flags & ~DEL_TERSE) != 0) {
}
flist_free(dirlist);
+ pop_local_filters(save_filters);
+
if (max_delete && deletion_count >= max_delete)
return -1;
recurse = -1;
fbuf[dlen] = '\0';
+ clean_flist(dir_list, 0, 0);
+
if (verbose > 3)
output_flist(dir_list, "delete");