aboutsummaryrefslogtreecommitdiff
path: root/toys/posix
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2015-09-07 17:12:57 -0500
committerRob Landley <rob@landley.net>2015-09-07 17:12:57 -0500
commitb1353fb9185928249f273340c601244291e269fe (patch)
treee75f4ee65b3f88a1fd436b9605826c1df160f514 /toys/posix
parent960100aa9cb588a73125d43ec0b0a7152a95b43f (diff)
downloadtoybox-b1353fb9185928249f273340c601244291e269fe.tar.gz
Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
This fixes the build break, the change to yesno() prototype accidentally got checked in last commit. (Oops, sorry.)
Diffstat (limited to 'toys/posix')
-rw-r--r--toys/posix/cp.c8
-rw-r--r--toys/posix/find.c6
-rw-r--r--toys/posix/rm.c10
3 files changed, 12 insertions, 12 deletions
diff --git a/toys/posix/cp.c b/toys/posix/cp.c
index 5a55f40b..2b032fe6 100644
--- a/toys/posix/cp.c
+++ b/toys/posix/cp.c
@@ -173,7 +173,7 @@ int cp_node(struct dirtree *try)
fprintf(stderr, "%s: overwrite '%s'", toys.which->name,
s = dirtree_path(try, 0));
free(s);
- if (!yesno("", 1)) return 0;
+ if (!yesno(1)) return 0;
}
}
@@ -348,11 +348,11 @@ void cp_main(void)
// Try to interpret as letters, commas won't set anything this doesn't.
for (s = TT.c.preserve; *s; s++) {
for (i=0; i<ARRAY_LEN(preserve); i++)
- if (*s == *preserve[i]) TT.pflags |= 1<<i;
+ if (*s == *preserve[i]) break;
if (i == ARRAY_LEN(preserve)) {
if (*s == 'a') TT.pflags = ~0;
else break;
- }
+ } else TT.pflags |= 1<<i;
}
if (*s) error_exit("bad --preserve=%s", pre);
@@ -381,7 +381,7 @@ void cp_main(void)
&& ((toys.optflags & FLAG_i) || !(st.st_mode & 0222)))
{
fprintf(stderr, "%s: overwrite '%s'", toys.which->name, TT.destname);
- if (!yesno("", 1)) rc = 0;
+ if (!yesno(1)) rc = 0;
else unlink(TT.destname);
}
}
diff --git a/toys/posix/find.c b/toys/posix/find.c
index 99cf5e2f..10585294 100644
--- a/toys/posix/find.c
+++ b/toys/posix/find.c
@@ -421,10 +421,8 @@ static int do_find(struct dirtree *new)
if (aa->dir) aa->prev = (void *)1;
if (*s == 'o') {
- char *prompt = xmprintf("[%s] %s", ss1, name);
- test = yesno(prompt, 0);
- free(prompt);
- if (!test) {
+ fprintf(stderr, "[%s] %s", ss1, name);
+ if (!(test = yesno(0))) {
free(name);
goto cont;
}
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;
}
}