diff options
Diffstat (limited to 'src/rmdir.c')
-rw-r--r-- | src/rmdir.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rmdir.c b/src/rmdir.c index 01727b8b4..24c5f66e3 100644 --- a/src/rmdir.c +++ b/src/rmdir.c @@ -101,11 +101,15 @@ remove_parents (char *path) if (fail) { - /* Give a diagnostic and set fail if not --ignore. */ - if (!ignore_fail_on_non_empty || errno != ENOTEMPTY) + /* Stop quietly if --ignore-fail-on-non-empty. */ + if (ignore_fail_on_non_empty + && (errno == ENOTEMPTY || errno == EEXIST)) + { + fail = 0; + } + else { error (0, errno, "%s", path); - fail = 1; } break; } |