file->mode = save_mode;
}
- if (!S_ISDIR(st.st_mode))
+ if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode))
stats.total_size += st.st_size;
return file;
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--; ) {
struct file_struct *fp = dirlist->files[j];
}
flist_free(dirlist);
+ pop_local_filters(save_filters);
+
if (max_delete && deletion_count >= max_delete)
return -1;