summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2006-10-03 13:32:55 +0000
committerJim Meyering <jim@meyering.net>2006-10-03 13:32:55 +0000
commit9ac369c2bdea688a5147215440587b03da992535 (patch)
treec0e293b422d6e4f87e4175cdf85c2ae7e7c02c70 /src
parentda9541f18e6985593b73c30d121605e8cff62a7b (diff)
downloadcoreutils-9ac369c2bdea688a5147215440587b03da992535.tar.xz
* src/remove.c (remove_entry): With -f, exit successfully in spite
of a missing file under some very unusual conditions (with errno being any of ENOENT, ENOTDIR, ENAMETOOLONG).
Diffstat (limited to 'src')
-rw-r--r--src/remove.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/remove.c b/src/remove.c
index ed2c846e9..9d681c6e6 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -1016,6 +1016,9 @@ remove_entry (int fd_cwd, Dirstack_state const *ds, char const *filename,
|| errno == ENOENT || errno == ENOTDIR
|| errno == ELOOP || errno == ENAMETOOLONG)
{
+ if (ignorable_missing (x, errno))
+ return RM_OK;
+
/* Either --recursive is not in effect, or the file cannot be a
directory. Report the unlink problem and fail. */
error (0, errno, _("cannot remove %s"),