summaryrefslogtreecommitdiffhomepage
path: root/libbb
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2021-02-03 20:47:14 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2021-02-03 20:52:40 +0100
commitcad3fc743aa7c7744e4fcf044371f0fda50fa51f (patch)
tree30b1de29e61ed3b5975d183b1746516b7abdc88f /libbb
parent6ad38d66d08a2646c6423b967a790656ae026c95 (diff)
libbb: introduce and use fputs_stdout
function old new delta fputs_stdout - 12 +12 zxc_vm_process 7237 7230 -7 yes_main 85 78 -7 write_block 380 373 -7 wrapf 305 298 -7 strings_main 437 430 -7 show_bridge 353 346 -7 rev_main 384 377 -7 put_prompt_custom 58 51 -7 put_cur_glyph_and_inc_cursor 168 161 -7 print_numbered_lines 152 145 -7 print_named_ascii 130 123 -7 print_name 135 128 -7 print_login_issue 386 379 -7 print_ascii 208 201 -7 powertop_main 1249 1242 -7 od_main 1789 1782 -7 logread_main 518 511 -7 head_main 804 797 -7 display_process_list 1319 1312 -7 cut_main 1002 995 -7 bb_dump_dump 1550 1543 -7 bb_ask_noecho 393 386 -7 baseNUM_main 702 695 -7 expand_main 755 745 -10 dumpleases_main 497 487 -10 write1 12 - -12 putcsi 37 23 -14 print_login_prompt 55 41 -14 paste_main 525 511 -14 cat_main 440 426 -14 print_it 245 230 -15 print_addrinfo 1188 1171 -17 print_rule 770 750 -20 print_linkinfo 842 822 -20 httpd_main 791 771 -20 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/34 up/down: 12/-341) Total: -329 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r--libbb/bb_askpass.c2
-rw-r--r--libbb/dump.c2
-rw-r--r--libbb/lineedit.c8
-rw-r--r--libbb/login.c6
-rw-r--r--libbb/print_numbered_lines.c2
-rw-r--r--libbb/xfuncs_printf.c5
6 files changed, 15 insertions, 10 deletions
diff --git a/libbb/bb_askpass.c b/libbb/bb_askpass.c
index 2dcead35a..66d6a479e 100644
--- a/libbb/bb_askpass.c
+++ b/libbb/bb_askpass.c
@@ -25,7 +25,7 @@ char* FAST_FUNC bb_ask_noecho(int fd, int timeout, const char *prompt)
/* Was buggy: was printing prompt *before* flushing input,
* which was upsetting "expect" based scripts of some users.
*/
- fputs(prompt, stdout);
+ fputs_stdout(prompt);
fflush_all();
tcgetattr(fd, &oldtio);
diff --git a/libbb/dump.c b/libbb/dump.c
index 1ba1132b3..fb7849e7d 100644
--- a/libbb/dump.c
+++ b/libbb/dump.c
@@ -560,7 +560,7 @@ static void display(priv_dumper_t* dumper)
) {
if (dumper->pub.eofstring) {
/* xxd support: requested to not pad incomplete blocks */
- fputs(dumper->pub.eofstring, stdout);
+ fputs_stdout(dumper->pub.eofstring);
return;
}
if (!(pr->flags & (F_TEXT | F_BPAD)))
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 75de88e77..367396b91 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -312,7 +312,7 @@ static void BB_PUTCHAR(wchar_t c)
ssize_t len = wcrtomb(buf, c, &mbst);
if (len > 0) {
buf[len] = '\0';
- fputs(buf, stdout);
+ fputs_stdout(buf);
}
} else {
/* In this case, c is always one byte */
@@ -460,7 +460,7 @@ static void beep(void)
*/
static void put_prompt_custom(bool is_full)
{
- fputs((is_full ? cmdedit_prompt : prompt_last_line), stdout);
+ fputs_stdout((is_full ? cmdedit_prompt : prompt_last_line));
cursor = 0;
cmdedit_y = cmdedit_prmt_len / cmdedit_termw; /* new quasireal y */
cmdedit_x = cmdedit_prmt_len % cmdedit_termw;
@@ -1851,7 +1851,7 @@ static void ask_terminal(void)
pfd.events = POLLIN;
if (safe_poll(&pfd, 1, 0) == 0) {
S.sent_ESC_br6n = 1;
- fputs(ESC"[6n", stdout);
+ fputs_stdout(ESC"[6n");
fflush_all(); /* make terminal see it ASAP! */
}
}
@@ -2957,7 +2957,7 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
#undef read_line_input
int FAST_FUNC read_line_input(const char* prompt, char* command, int maxsize)
{
- fputs(prompt, stdout);
+ fputs_stdout(prompt);
fflush_all();
if (!fgets(command, maxsize, stdin))
return -1;
diff --git a/libbb/login.c b/libbb/login.c
index 7f593d80d..af860c277 100644
--- a/libbb/login.c
+++ b/libbb/login.c
@@ -120,7 +120,7 @@ void FAST_FUNC print_login_issue(const char *issue_file, const char *tty)
buf[0] = c;
}
}
- fputs(outbuf, stdout);
+ fputs_stdout(outbuf);
}
fclose(fp);
fflush_all();
@@ -130,8 +130,8 @@ void FAST_FUNC print_login_prompt(void)
{
char *hostname = safe_gethostname();
- fputs(hostname, stdout);
- fputs(LOGIN, stdout);
+ fputs_stdout(hostname);
+ fputs_stdout(LOGIN);
fflush_all();
free(hostname);
}
diff --git a/libbb/print_numbered_lines.c b/libbb/print_numbered_lines.c
index 4758068a4..b64f85597 100644
--- a/libbb/print_numbered_lines.c
+++ b/libbb/print_numbered_lines.c
@@ -25,7 +25,7 @@ int FAST_FUNC print_numbered_lines(struct number_state *ns, const char *filename
printf("%*u%s", ns->width, N, ns->sep);
N += ns->inc;
} else if (ns->empty_str)
- fputs(ns->empty_str, stdout);
+ fputs_stdout(ns->empty_str);
puts(line);
free(line);
}
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index 99596b9d0..f0399ca45 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -318,6 +318,11 @@ int FAST_FUNC bb_putchar(int ch)
return putchar(ch);
}
+int FAST_FUNC fputs_stdout(const char *s)
+{
+ return fputs(s, stdout);
+}
+
/* Die with an error message if we can't copy an entire FILE* to stdout,
* then close that file. */
void FAST_FUNC xprint_and_close_file(FILE *file)