diff options
Diffstat (limited to 'toys')
-rw-r--r-- | toys/posix/rm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/toys/posix/rm.c b/toys/posix/rm.c index 8874b54f..2a6bc282 100644 --- a/toys/posix/rm.c +++ b/toys/posix/rm.c @@ -37,6 +37,10 @@ static int do_rm(struct dirtree *try) // This is either the posix section 2(b) prompt or the section 3 prompt. if (!FLAG(f) && (!S_ISLNK(try->st.st_mode) && faccessat(fd, try->name, W_OK, 0))) or++; + + // Posix section 1(a), don't prompt for nonexistent. + if (or && errno == ENOENT) goto skip; + if (!(dir && try->again) && ((or && isatty(0)) || FLAG(i))) { char *s = dirtree_path(try, 0); |