From 26beb7861fbcc7abec92acfe3773f8154c39fe7a Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 22 May 2005 20:52:32 +0000 Subject: [PATCH] - Don't stop deleting in a dir if one item fails. - Don't skip deleting in a dir if the initial rmdir fails (2.6.4 only continued if it was a non-empty error). --- generator.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/generator.c b/generator.c index ec5a4d5a..b0744557 100644 --- a/generator.c +++ b/generator.c @@ -150,7 +150,7 @@ static int delete_item(char *fname, int mode, int flags) deletion_count--; return 0; } - if (!zap_dir || (errno != ENOTEMPTY && errno != EEXIST)) { + if (!zap_dir) { rsyserr(FERROR, errno, "delete_file: rmdir %s failed", full_fname(fname)); return -1; @@ -169,10 +169,7 @@ static int delete_item(char *fname, int mode, int flags) continue; f_name_to(fp, buf); - if (delete_item(buf, fp->mode, flags & ~DEL_TERSE) != 0) { - flist_free(dirlist); - return -1; - } + delete_item(buf, fp->mode, flags & ~DEL_TERSE); } flist_free(dirlist); @@ -265,8 +262,7 @@ static void delete_in_dir(struct file_list *flist, char *fbuf, if (flist_find(flist, fp) < 0) { int mode = fp->mode; f_name_to(fp, delbuf); - if (delete_item(delbuf, mode, DEL_FORCE_RECURSE) < 0) - break; + delete_item(delbuf, mode, DEL_FORCE_RECURSE); } } -- 2.34.1