diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-04-07 15:21:35 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-04-07 15:23:10 +0200 |
commit | bae8fc4436f9aeb43ef0aaccd1c9b1b35b5a4617 (patch) | |
tree | 454dbb6414c851c9ce0d6fe478ca86cf5cf4fa1b /libbb/ask_confirmation.c | |
parent | 77cb6b99a436c20bb171e6cdad7b8b8b5ce3692c (diff) | |
download | busybox-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.c | 12 |
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 | */ |
14 | int FAST_FUNC bb_ask_y_confirmation(void) | 14 | int 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 | |||
29 | int FAST_FUNC bb_ask_y_confirmation(void) | ||
30 | { | ||
31 | return bb_ask_y_confirmation_FILE(stdin); | ||
32 | } | ||