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>
diff --git a/coreutils/cat.c b/coreutils/cat.c
index dae6089..4b34149 100644
--- a/coreutils/cat.c
+++ b/coreutils/cat.c
@@ -152,7 +152,7 @@
 				eol_seen = (c == eol_char);
 #endif
 				visible(c, buf, opts);
-				fputs(buf, stdout);
+				fputs_stdout(buf);
 			}
 		}
 		if (ENABLE_FEATURE_CLEAN_UP && fd)
diff --git a/coreutils/cut.c b/coreutils/cut.c
index 1acbb51..16418ff 100644
--- a/coreutils/cut.c
+++ b/coreutils/cut.c
@@ -167,7 +167,7 @@
 						 * printed */
 						if (nfields_printed > 0)
 							putchar(delim);
-						fputs(field, stdout);
+						fputs_stdout(field);
 						printed[ndelim] = 'X';
 						nfields_printed++;	/* shouldn't overflow.. */
 					}
diff --git a/coreutils/expand.c b/coreutils/expand.c
index 5f59939..c5e1de6 100644
--- a/coreutils/expand.c
+++ b/coreutils/expand.c
@@ -123,7 +123,7 @@
 			}
 			ptr++;
 		}
-		fputs(ptr_strbeg, stdout);
+		fputs_stdout(ptr_strbeg);
 		free(line);
 	}
 }
diff --git a/coreutils/head.c b/coreutils/head.c
index 1219dfe..b6efabb 100644
--- a/coreutils/head.c
+++ b/coreutils/head.c
@@ -117,7 +117,7 @@
 		char *c;
 		if (head == count)
 			head = 0;
-		fputs(circle[head], stdout);
+		fputs_stdout(circle[head]);
 		c = xmalloc_fgets(fp);
 		if (!c)
 			goto ret;
diff --git a/coreutils/id.c b/coreutils/id.c
index 78d5f2a..f453a87 100644
--- a/coreutils/id.c
+++ b/coreutils/id.c
@@ -258,7 +258,7 @@
 			bb_error_msg_and_die("can't get process context%s",
 				username ? " for a different user" : "");
 		}
-		fputs(scontext, stdout);
+		fputs_stdout(scontext);
 	}
 	/* freecon(NULL) seems to be harmless */
 	if (ENABLE_FEATURE_CLEAN_UP)
diff --git a/coreutils/ls.c b/coreutils/ls.c
index e5375a6..80ef920 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -453,7 +453,7 @@
 	name = printable_string2(&uni_stat, name);
 
 	if (!(option_mask32 & OPT_Q)) {
-		fputs(name, stdout);
+		fputs_stdout(name);
 		return uni_stat.unicode_width;
 	}
 
diff --git a/coreutils/od_bloaty.c b/coreutils/od_bloaty.c
index d5bd7bf..5b5e56a 100644
--- a/coreutils/od_bloaty.c
+++ b/coreutils/od_bloaty.c
@@ -422,19 +422,19 @@
 
 		masked_c &= 0x7f;
 		if (masked_c == 0x7f) {
-			fputs(" del", stdout);
+			fputs_stdout(" del");
 			continue;
 		}
 		if (masked_c > ' ') {
 			buf[3] = masked_c;
-			fputs(buf, stdout);
+			fputs_stdout(buf);
 			continue;
 		}
 		/* Why? Because printf(" %3.3s") is much slower... */
 		buf[6] = charname[masked_c][0];
 		buf[7] = charname[masked_c][1];
 		buf[8] = charname[masked_c][2];
-		fputs(buf+5, stdout);
+		fputs_stdout(buf+5);
 	}
 }
 
@@ -451,7 +451,7 @@
 
 		if (ISPRINT(c)) {
 			buf[3] = c;
-			fputs(buf, stdout);
+			fputs_stdout(buf);
 			continue;
 		}
 		switch (c) {
@@ -485,7 +485,7 @@
 			buf[8] = (c & 7) + '0';
 			s = buf + 5;
 		}
-		fputs(s, stdout);
+		fputs_stdout(s);
 	}
 }
 
@@ -881,7 +881,7 @@
 static void
 dump_hexl_mode_trailer(size_t n_bytes, const char *block)
 {
-	fputs("  >", stdout);
+	fputs_stdout("  >");
 	while (n_bytes--) {
 		unsigned c = *(unsigned char *) block++;
 		c = (ISPRINT(c) ? c : '.');
@@ -1121,13 +1121,13 @@
 
 		for (i = 0; (c = buf[i]); i++) {
 			switch (c) {
-			case '\007': fputs("\\a", stdout); break;
-			case '\b': fputs("\\b", stdout); break;
-			case '\f': fputs("\\f", stdout); break;
-			case '\n': fputs("\\n", stdout); break;
-			case '\r': fputs("\\r", stdout); break;
-			case '\t': fputs("\\t", stdout); break;
-			case '\v': fputs("\\v", stdout); break;
+			case '\007': fputs_stdout("\\a"); break;
+			case '\b': fputs_stdout("\\b"); break;
+			case '\f': fputs_stdout("\\f"); break;
+			case '\n': fputs_stdout("\\n"); break;
+			case '\r': fputs_stdout("\\r"); break;
+			case '\t': fputs_stdout("\\t"); break;
+			case '\v': fputs_stdout("\\v"); break;
 			default: putchar(c);
 			}
 		}
diff --git a/coreutils/paste.c b/coreutils/paste.c
index fd2aa50..7def4de 100644
--- a/coreutils/paste.c
+++ b/coreutils/paste.c
@@ -53,7 +53,7 @@
 				--active_files;
 				continue;
 			}
-			fputs(line, stdout);
+			fputs_stdout(line);
 			free(line);
 			delim = '\n';
 			if (i != file_cnt - 1) {
@@ -79,7 +79,7 @@
 		line = NULL;
 		while ((next_line = xmalloc_fgetline(files[i])) != NULL) {
 			if (line) {
-				fputs(line, stdout);
+				fputs_stdout(line);
 				free(line);
 				delim = delims[del_idx++];
 				if (del_idx == del_cnt)
diff --git a/coreutils/stat.c b/coreutils/stat.c
index 073b2c6..a839346 100644
--- a/coreutils/stat.c
+++ b/coreutils/stat.c
@@ -439,7 +439,7 @@
 
 		/* print preceding string */
 		*p = '\0';
-		fputs(b, stdout);
+		fputs_stdout(b);
 
 		p += len;
 		b = p + 1;
diff --git a/coreutils/stty.c b/coreutils/stty.c
index 1925396..ba2b783 100644
--- a/coreutils/stty.c
+++ b/coreutils/stty.c
@@ -855,7 +855,7 @@
 			}
 		}
 	}
-	fputs(buf, stdout);
+	fputs_stdout(buf);
 	G.current_col += buflen;
 	if (buf[buflen-1] == '\n')
 		G.current_col = 0;
diff --git a/coreutils/uudecode.c b/coreutils/uudecode.c
index 164b208..02b0372 100644
--- a/coreutils/uudecode.c
+++ b/coreutils/uudecode.c
@@ -319,7 +319,7 @@
 			}
 
 			if (col == 0) {
-				fputs(dst_buf, stdout);
+				fputs_stdout(dst_buf);
 			} else {
 				char *result = dst_buf;
 				if (rem == 0)
diff --git a/coreutils/yes.c b/coreutils/yes.c
index 9a435a7..0ad2592 100644
--- a/coreutils/yes.c
+++ b/coreutils/yes.c
@@ -43,7 +43,7 @@
 	do {
 		pp = argv;
 		while (1) {
-			fputs(*pp, stdout);
+			fputs_stdout(*pp);
 			if (!*++pp)
 				break;
 			putchar(' ');