From 87fd439059f5210483e20aa0f2da2ccf106b70e7 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 22 Feb 2005 20:42:55 +0000 Subject: [PATCH] When preforming a recursive delete, push/pop the per-dir merge rules. --- flist.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flist.c b/flist.c index 4334076a..05b53f6e 100644 --- a/flist.c +++ b/flist.c @@ -1790,6 +1790,7 @@ int delete_file(char *fname, int mode, int flags) struct file_list *dirlist; char buf[MAXPATHLEN]; int j, zap_dir, ok; + void *save_filters; if (max_delete && deletion_count >= max_delete) return -1; @@ -1837,6 +1838,8 @@ int delete_file(char *fname, int mode, int flags) } 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]; @@ -1848,6 +1851,8 @@ int delete_file(char *fname, int mode, int flags) } flist_free(dirlist); + pop_local_filters(save_filters); + if (max_delete && deletion_count >= max_delete) return -1; -- 2.34.1