aboutsummaryrefslogtreecommitdiff
path: root/libbb/ask_confirmation.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-04-07 15:21:35 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-04-07 15:23:10 +0200
commitbae8fc4436f9aeb43ef0aaccd1c9b1b35b5a4617 (patch)
tree454dbb6414c851c9ce0d6fe478ca86cf5cf4fa1b /libbb/ask_confirmation.c
parent77cb6b99a436c20bb171e6cdad7b8b8b5ce3692c (diff)
downloadbusybox-w32-bae8fc4436f9aeb43ef0aaccd1c9b1b35b5a4617.tar.gz
busybox-w32-bae8fc4436f9aeb43ef0aaccd1c9b1b35b5a4617.tar.bz2
busybox-w32-bae8fc4436f9aeb43ef0aaccd1c9b1b35b5a4617.zip
xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy
function old new delta bb_ask_y_confirmation_FILE - 83 +83 inetd_main 2033 2043 +10 udhcp_send_kernel_packet 295 301 +6 rmescapes 306 310 +4 send_tree 353 355 +2 i2cdetect_main 674 672 -2 confirm_or_abort 43 38 -5 get_terminal_width_height 242 234 -8 bb_ask_y_confirmation 76 10 -66 xargs_main 823 755 -68 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 4/5 up/down: 105/-149) Total: -44 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/ask_confirmation.c')
-rw-r--r--libbb/ask_confirmation.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/libbb/ask_confirmation.c b/libbb/ask_confirmation.c
index ccd983c29..e4814e215 100644
--- a/libbb/ask_confirmation.c
+++ b/libbb/ask_confirmation.c
@@ -8,15 +8,16 @@
8 */ 8 */
9#include "libbb.h" 9#include "libbb.h"
10 10
11/* Read a line from stdin. If the first non-whitespace char is 'y' or 'Y', 11/* Read a line from fp. If the first non-whitespace char is 'y' or 'Y',
12 * return 1. Otherwise return 0. 12 * return 1. Otherwise return 0.
13 */ 13 */
14int FAST_FUNC bb_ask_y_confirmation(void) 14int FAST_FUNC bb_ask_y_confirmation_FILE(FILE *fp)
15{ 15{
16 char first = 0; 16 char first = 0;
17 int c; 17 int c;
18 18
19 while (((c = getchar()) != EOF) && (c != '\n')) { 19 fflush_all();
20 while (((c = fgetc(fp)) != EOF) && (c != '\n')) {
20 if (first == 0 && !isblank(c)) { 21 if (first == 0 && !isblank(c)) {
21 first = c|0x20; 22 first = c|0x20;
22 } 23 }
@@ -24,3 +25,8 @@ int FAST_FUNC bb_ask_y_confirmation(void)
24 25
25 return first == 'y'; 26 return first == 'y';
26} 27}
28
29int FAST_FUNC bb_ask_y_confirmation(void)
30{
31 return bb_ask_y_confirmation_FILE(stdin);
32}