aboutsummaryrefslogtreecommitdiff
path: root/libbb/xfuncs_printf.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-11-02 14:19:51 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2009-11-02 14:19:51 +0100
commit8131eea3dce5fba0dfb78e6083d1730423fad20b (patch)
treec098d7ba6ef9f4745425a29a330480e6088d6d9a /libbb/xfuncs_printf.c
parent0d8ea64af618dc83c3291b3b598636ed3d0854e4 (diff)
downloadbusybox-w32-8131eea3dce5fba0dfb78e6083d1730423fad20b.tar.gz
busybox-w32-8131eea3dce5fba0dfb78e6083d1730423fad20b.tar.bz2
busybox-w32-8131eea3dce5fba0dfb78e6083d1730423fad20b.zip
*: introduce and use ffulsh_all()
function old new delta buffer_fill_and_print 179 196 +17 fflush_all - 9 +9 spawn 87 92 +5 rtcwake_main 455 453 -2 ... alarm_intr 93 84 -9 readcmd 1072 1062 -10 bb_ask 345 333 -12 more_main 845 832 -13 flush_stdout_stderr 42 23 -19 xfflush_stdout 27 - -27 flush_stderr 30 - -30 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 2/50 up/down: 31/-397) Total: -366 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/xfuncs_printf.c')
-rw-r--r--libbb/xfuncs_printf.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index 241887ace..644134a0e 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -255,12 +255,9 @@ void FAST_FUNC die_if_ferror_stdout(void)
255 die_if_ferror(stdout, bb_msg_standard_output); 255 die_if_ferror(stdout, bb_msg_standard_output);
256} 256}
257 257
258// Die with an error message if we have trouble flushing stdout. 258int FAST_FUNC fflush_all(void)
259void FAST_FUNC xfflush_stdout(void)
260{ 259{
261 if (fflush(stdout)) { 260 return fflush(NULL);
262 bb_perror_msg_and_die(bb_msg_standard_output);
263 }
264} 261}
265 262
266 263
@@ -276,9 +273,9 @@ int FAST_FUNC bb_putchar(int ch)
276 * then close that file. */ 273 * then close that file. */
277void FAST_FUNC xprint_and_close_file(FILE *file) 274void FAST_FUNC xprint_and_close_file(FILE *file)
278{ 275{
279 fflush(stdout); 276 fflush_all();
280 // copyfd outputs error messages for us. 277 // copyfd outputs error messages for us.
281 if (bb_copyfd_eof(fileno(file), 1) == -1) 278 if (bb_copyfd_eof(fileno(file), STDOUT_FILENO) == -1)
282 xfunc_die(); 279 xfunc_die();
283 280
284 fclose(file); 281 fclose(file);