aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/rm.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/posix/rm.c')
-rw-r--r--toys/posix/rm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/toys/posix/rm.c b/toys/posix/rm.c
index 5523a98c..f591c64d 100644
--- a/toys/posix/rm.c
+++ b/toys/posix/rm.c
@@ -39,9 +39,10 @@ static int do_rm(struct dirtree *try)
&& (!S_ISLNK(try->st.st_mode) && faccessat(fd, try->name, W_OK, 0))) or++;
if (!(dir && try->again) && ((or && isatty(0)) || (flags & FLAG_i))) {
char *s = dirtree_path(try, 0);
- fprintf(stderr, "rm %s%s", or ? "ro " : "", dir ? "dir " : "");
- or = yesno(s, 0);
+
+ fprintf(stderr, "rm %s%s%s", or ? "ro " : "", dir ? "dir " : "", s);
free(s);
+ or = yesno(0);
if (!or) goto nodelete;
}
@@ -57,10 +58,11 @@ static int do_rm(struct dirtree *try)
if (try->symlink) goto skip;
if (flags & FLAG_i) {
char *s = dirtree_path(try, 0);
+
// This is the section 2(d) prompt. (Yes, posix says to prompt twice.)
- fprintf(stderr, "rmdir ");
- or = yesno(s, 0);
+ fprintf(stderr, "rmdir %s", s);
free(s);
+ or = yesno(0);
if (!or) goto nodelete;
}
}