1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-05-24 03:06:46 +02:00

(main): rmdir fails with EEXIST on some systems.

Handle that, so --ignore-fail-on-non-empty works.
(EEXIST): Define to zero if not defined.
(ENOTEMPTY): Likewise.
This commit is contained in:
Jim Meyering
1998-07-26 00:29:30 +00:00
parent ca6da4ffce
commit 613f0e187f
+17 -6
View File
@@ -31,6 +31,14 @@
#include "closeout.h"
#include "error.h"
#ifndef EEXIST
# define EEXIST 0
#endif
#ifndef ENOTEMPTY
# define ENOTEMPTY 0
#endif
void strip_trailing_slashes ();
/* The name this program was run with. */
@@ -199,14 +207,17 @@ main (int argc, char **argv)
if (fail)
{
if (!ignore_fail_on_non_empty || errno != ENOTEMPTY)
{
error (0, errno, "%s", dir);
errors = 1;
}
if (ignore_fail_on_non_empty
&& (errno == ENOTEMPTY || errno == EEXIST))
continue;
error (0, errno, "%s", dir);
errors = 1;
}
else if (empty_paths)
errors += remove_parents (dir);
{
errors += remove_parents (dir);
}
}
exit (errors == 0 ? EXIT_SUCCESS : EXIT_FAILURE);