*: introduce and use ffulsh_all()
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 2 Nov 2009 13:19:51 +0000 (14:19 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 2 Nov 2009 13:19:51 +0000 (14:19 +0100)
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>
49 files changed:
archival/cpio.c
coreutils/dd.c
coreutils/dirname.c
coreutils/echo.c
coreutils/hostid.c
coreutils/length.c
coreutils/logname.c
coreutils/pwd.c
coreutils/seq.c
coreutils/whoami.c
editors/awk.c
editors/cmp.c
editors/ed.c
editors/vi.c
findutils/xargs.c
include/libbb.h
libbb/bb_askpass.c
libbb/info_msg.c
libbb/lineedit.c
libbb/login.c
libbb/verror_msg.c
libbb/vfork_daemon_rexec.c
libbb/xfuncs_printf.c
loginutils/login.c
mailutils/mail.c
miscutils/flash_eraseall.c
miscutils/hdparm.c
miscutils/less.c
networking/arping.c
networking/ftpd.c
networking/ifupdown.c
networking/libiproute/ipaddress.c
networking/libiproute/iprule.c
networking/nc_bloaty.c
networking/ping.c
networking/telnetd.c
networking/traceroute.c
procps/top.c
procps/watch.c
runit/svlogd.c
scripts/echo.c
selinux/setfiles.c
shell/ash.c
shell/hush.c
sysklogd/logread.c
util-linux/fsck_minix.c
util-linux/mkfs_minix.c
util-linux/more.c
util-linux/rtcwake.c

index ef228990a98c750c297bba3ce3387450ff1f1171..41aeef1715edc24e43bbd457f42b93e520dc4965 100644 (file)
@@ -252,7 +252,7 @@ static NOINLINE int cpio_o(void)
                                free(lpath);
                        } else { /* S_ISREG */
                                int fd = xopen(name, O_RDONLY);
-                               fflush(stdout);
+                               fflush_all();
                                /* We must abort if file got shorter too! */
                                bb_copyfd_exact_size(fd, STDOUT_FILENO, st.st_size);
                                bytes += st.st_size;
index 8bba62ce12a522b1d41c2e288ff4166cb0cb0512..f1e63fd8bade27acd3ed4d89dfbbb0867b476aeb 100644 (file)
@@ -189,7 +189,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 
        memset(&Z, 0, sizeof(Z));
        INIT_G();
-       //fflush(NULL); - is this needed because of NOEXEC?
+       //fflush_all(); - is this needed because of NOEXEC?
 
        for (n = 1; argv[n]; n++) {
                int what;
index c0c0925e5bc96a34f3e2d8127478dc232e4b9100..1f5f70dfd0974baa346bc7353a2b1fc111d35fc8 100644 (file)
@@ -23,5 +23,5 @@ int dirname_main(int argc, char **argv)
 
        puts(dirname(argv[1]));
 
-       return fflush(stdout);
+       return fflush_all();
 }
index decca095f25fc1dfa4f92a299e8a183cb731ba20..69039969b57e9b64bb9d996f3aa66ae4ef4d2824 100644 (file)
@@ -141,7 +141,7 @@ int echo_main(int argc UNUSED_PARAM, char **argv)
                bb_putchar('\n');
        }
  ret:
-       return fflush(stdout);
+       return fflush_all();
 }
 
 /*-
index 2794510a7969e316ef3281a971f0c55ba937371a..6f007d847efe42f56e3b546abe31472666852335 100644 (file)
@@ -22,5 +22,5 @@ int hostid_main(int argc, char **argv UNUSED_PARAM)
 
        printf("%lx\n", gethostid());
 
-       return fflush(stdout);
+       return fflush_all();
 }
index 43a0f59880097e73d8db3df23a4e178077d5db1f..015b2216fb4ac1ffc4496562e19f713de15c9901 100644 (file)
@@ -18,5 +18,5 @@ int length_main(int argc, char **argv)
 
        printf("%u\n", (unsigned)strlen(*argv));
 
-       return fflush(stdout);
+       return fflush_all();
 }
index 7983d1704614ed6ec018ca6fc418872629e789ea..7e5013255868dc499cf223f2ef01c3512158b889 100644 (file)
@@ -36,7 +36,7 @@ int logname_main(int argc, char **argv UNUSED_PARAM)
        /* Using _r function - avoid pulling in static buffer from libc */
        if (getlogin_r(buf, sizeof(buf)) == 0) {
                puts(buf);
-               return fflush(stdout);
+               return fflush_all();
        }
 
        bb_perror_msg_and_die("getlogin");
index 57953d246dd24d2e3191118750a5697f377c5be7..11278a2a54a660ec1b6e8e5952dc9efcdd992e4f 100644 (file)
@@ -20,7 +20,7 @@ int pwd_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
        if (buf != NULL) {
                puts(buf);
                free(buf);
-               return fflush(stdout);
+               return fflush_all();
        }
 
        return EXIT_FAILURE;
index 03ae3c632be4a175144e4c466ae12c5296734edc..84d11fd8c7f9d9b26ff759b292eb3ffb4cb23192 100644 (file)
@@ -95,5 +95,5 @@ int seq_main(int argc, char **argv)
        if (n) /* if while loop executed at least once */
                bb_putchar('\n');
 
-       return fflush(stdout);
+       return fflush_all();
 }
index 0dbcba9553ef1d16ca4a01247cc1a288ecc5c370..1031cdbf85c636104030cd696e419112f065f1ef 100644 (file)
@@ -22,5 +22,5 @@ int whoami_main(int argc, char **argv UNUSED_PARAM)
        /* Will complain and die if username not found */
        puts(xuid2uname(geteuid()));
 
-       return fflush(stdout);
+       return fflush_all();
 }
index bc1d9386824f527b2496d3b349b2ff3c4e5433bb..ce6c9b726d80c4cefb74d48dc4e79ecbe69a442f 100644 (file)
@@ -2552,7 +2552,7 @@ static var *evaluate(node *op, var *res)
                                break;
 
                        case F_sy:
-                               fflush(NULL);
+                               fflush_all();
                                R.d = (ENABLE_FEATURE_ALLOW_EXEC && L.s && *L.s)
                                                ? (system(L.s) >> 8) : 0;
                                break;
@@ -2565,7 +2565,7 @@ static var *evaluate(node *op, var *res)
                                                X.rsm = newfile(L.s);
                                                fflush(X.rsm->F);
                                        } else {
-                                               fflush(NULL);
+                                               fflush_all();
                                        }
                                }
                                break;
index a20bb883666fee71aabc1d4b971be4b0eea4fd79..384e57c22faa1b572658459f9240ebab3ed67f67 100644 (file)
@@ -108,7 +108,7 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
                                outfile = stderr;
                                /* There may have been output to stdout (option -l), so
                                 * make sure we fflush before writing to stderr. */
-                               xfflush_stdout();
+                               fflush_all();
                        }
                        if (!(opt & CMP_OPT_s)) {
                                if (opt & CMP_OPT_l) {
index dbd8020759ffe0c25f8d55d10eed1c47a766c87e..8ed4cd42bcb81432e400a8bd42965e64220038df 100644 (file)
@@ -686,7 +686,7 @@ static int readLines(const char *file, int num)
        cc = 0;
 
        printf("\"%s\", ", file);
-       fflush(stdout);
+       fflush_all();
 
        do {
                cp = memchr(bufPtr, '\n', bufUsed);
@@ -775,7 +775,7 @@ static int writeLines(const char *file, int num1, int num2)
        }
 
        printf("\"%s\", ", file);
-       fflush(stdout);
+       fflush_all();
 
        lp = findLine(num1);
        if (lp == NULL) {
index 82f302dcabb04600b260143f16ab607ee81e27c4..1a3997a6b4aaf64309361518ac5a7794cc6f7f22 100644 (file)
@@ -2136,7 +2136,7 @@ static void rawmode(void)
 
 static void cookmode(void)
 {
-       fflush(stdout);
+       fflush_all();
        tcsetattr_stdin_TCSANOW(&term_orig);
 }
 
@@ -2201,7 +2201,7 @@ static int readit(void) // read (maybe cursor) key from stdin
 {
        int c;
 
-       fflush(stdout);
+       fflush_all();
        c = read_key(STDIN_FILENO, readbuffer);
        if (c == -1) { // EOF/error
                go_bottom_and_clear_to_eol();
@@ -2555,7 +2555,7 @@ static void show_status_line(void)
                }
                place_cursor(crow, ccol, FALSE);        // put cursor back in correct place
        }
-       fflush(stdout);
+       fflush_all();
 }
 
 //----- format the status buffer, the bottom line of screen ------
@@ -3963,7 +3963,7 @@ static void crash_test()
        if (msg[0]) {
                printf("\n\n%d: \'%c\' %s\n\n\n%s[Hit return to continue]%s",
                        totalcmds, last_input_char, msg, SOs, SOn);
-               fflush(stdout);
+               fflush_all();
                while (safe_read(STDIN_FILENO, d, 1) > 0) {
                        if (d[0] == '\n' || d[0] == '\r')
                                break;
index 76d1d5489037a63aae2e7cc7c387ccca80287627..ab1a6d0a5b3498efbde114b6a277b72bbf9f172d 100644 (file)
@@ -279,7 +279,7 @@ static int xargs_ask_confirmation(void)
 
        tty_stream = xfopen_for_read(CURRENT_TTY);
        fputs(" ?...", stderr);
-       fflush(stderr);
+       fflush_all();
        c = savec = getc(tty_stream);
        while (c != EOF && c != '\n')
                c = getc(tty_stream);
index d2b74377e3d5a2dab5253b7a332f1cb118848412..955287c4dbebb62f3004dc0461436546ce6f6284 100644 (file)
@@ -659,7 +659,7 @@ extern char *xmalloc_fgetline(FILE *file) FAST_FUNC;
 
 extern void die_if_ferror(FILE *file, const char *msg) FAST_FUNC;
 extern void die_if_ferror_stdout(void) FAST_FUNC;
-extern void xfflush_stdout(void) FAST_FUNC;
+extern int fflush_all(void) FAST_FUNC;
 extern void fflush_stdout_and_exit(int retval) NORETURN FAST_FUNC;
 extern int fclose_if_not_stdin(FILE *file) FAST_FUNC;
 extern FILE *xfopen(const char *filename, const char *mode) FAST_FUNC;
index 073175c1fb663ec01bede96c52aa8afb5176af61..f9b918cecef643a070d35a33d6d7aec88f25524d 100644 (file)
@@ -55,7 +55,7 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt)
        }
 
        fputs(prompt, stdout);
-       fflush(stdout);
+       fflush_all();
        ret = NULL;
        /* On timeout or Ctrl-C, read will hopefully be interrupted,
         * and we return NULL */
@@ -77,6 +77,6 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt)
 
        tcsetattr_stdin_TCSANOW(&oldtio);
        bb_putchar('\n');
-       fflush(stdout);
+       fflush_all();
        return ret;
 }
index 8b8a1fcca269d7f4311faac89f74bef95ebe9c85..5f375d43b4dd1a52901807559a80075a3d8a072a 100644 (file)
@@ -44,7 +44,7 @@ void FAST_FUNC bb_info_msg(const char *s, ...)
        if (ENABLE_FEATURE_SYSLOG && (logmode & LOGMODE_SYSLOG))
                syslog(LOG_INFO, "%s", msg);
        if (logmode & LOGMODE_STDIO) {
-               fflush(stdout);
+               fflush_all();
                /* used = strlen(msg); - must be true already */
                msg[used++] = '\n';
                full_write(STDOUT_FILENO, msg, used);
index 0f7ab8c94d43b0b5fe5d8fbc2c646ba775ac6d7b..a9972576e3aa84efbd667a2b9a2de66934eeaef3 100644 (file)
@@ -373,7 +373,7 @@ static void input_backward(unsigned num)
 static void put_prompt(void)
 {
        out1str(cmdedit_prompt);
-       fflush(NULL);
+       fflush_all();
 #if ENABLE_FEATURE_EDITING_ASK_TERMINAL
        {
                /* Ask terminal where is the cursor now.
@@ -411,7 +411,7 @@ static void put_prompt(void)
                if (safe_poll(&pfd, 1, 0) == 0) {
                        S.sent_ESC_br6n = 1;
                        out1str("\033" "[6n");
-                       fflush(NULL); /* make terminal see it ASAP! */
+                       fflush_all(); /* make terminal see it ASAP! */
                }
        }
 #endif
@@ -1636,7 +1636,7 @@ static void cmdedit_setwidth(unsigned w, int redraw_flg)
                int new_y = (cursor + cmdedit_prmt_len) / w;
                /* redraw */
                redraw((new_y >= cmdedit_y ? new_y : cmdedit_y), command_len - cursor);
-               fflush(NULL);
+               fflush_all();
        }
 }
 
@@ -1748,7 +1748,7 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li
        ) {
                /* Happens when e.g. stty -echo was run before */
                parse_and_put_prompt(prompt);
-               /* fflush(stdout); - done by parse_and_put_prompt */
+               /* fflush_all(); - done by parse_and_put_prompt */
                if (fgets(command, maxsize, stdin) == NULL)
                        len = -1; /* EOF or error */
                else
@@ -1841,7 +1841,7 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li
                };
                int32_t ic, ic_raw;
 
-               fflush(NULL);
+               fflush_all();
                ic = ic_raw = lineedit_read_key(read_key_buffer);
 
 #if ENABLE_FEATURE_EDITING_VI
@@ -2245,7 +2245,7 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li
        tcsetattr_stdin_TCSANOW(&initial_settings);
        /* restore SIGWINCH handler */
        signal(SIGWINCH, previous_SIGWINCH_handler);
-       fflush(NULL);
+       fflush_all();
 
        len = command_len;
        DEINIT_S();
@@ -2259,7 +2259,7 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li
 int FAST_FUNC read_line_input(const char* prompt, char* command, int maxsize)
 {
        fputs(prompt, stdout);
-       fflush(NULL);
+       fflush_all();
        fgets(command, maxsize, stdin);
        return strlen(command);
 }
index 07247a8c54d7a4bf006c97a5d08a382aea3a4bed..740c588f36f3a927419e9567b0eb0a4c2d0af99c 100644 (file)
@@ -85,7 +85,7 @@ void FAST_FUNC print_login_issue(const char *issue_file, const char *tty)
                fputs(outbuf, stdout);
        }
        fclose(fp);
-       fflush(stdout);
+       fflush_all();
 }
 
 void FAST_FUNC print_login_prompt(void)
@@ -94,7 +94,7 @@ void FAST_FUNC print_login_prompt(void)
 
        fputs(hostname, stdout);
        fputs(LOGIN, stdout);
-       fflush(stdout);
+       fflush_all();
        free(hostname);
 }
 
index 506b9066a905ac8d6fe6d00fc32baac7e05e722e..70f792f39413a91fc85fb1521f4e0c722f4fb0d8 100644 (file)
@@ -64,7 +64,7 @@ void FAST_FUNC bb_verror_msg(const char *s, va_list p, const char* strerr)
        }
 
        if (logmode & LOGMODE_STDIO) {
-               fflush(stdout);
+               fflush_all();
                full_write(STDERR_FILENO, msg, used);
        }
        if (logmode & LOGMODE_SYSLOG) {
@@ -125,8 +125,8 @@ void FAST_FUNC bb_verror_msg(const char *s, va_list p, const char* strerr)
                iov[1].iov_len = 2;
                /*iov[2].iov_base = msgc;*/
                /*iov[2].iov_len = used;*/
-               fflush(stdout);
-               writev(2, iov, 3);
+               fflush_all();
+               writev(STDERR_FILENO, iov, 3);
        }
        if (logmode & LOGMODE_SYSLOG) {
                syslog(LOG_ERR, "%s", msgc);
index 27efb0e376836c55ec445be068b287d8d837fce9..9be90172290ef67bfd611c64371befa24c2e56b8 100644 (file)
@@ -25,7 +25,7 @@ pid_t FAST_FUNC spawn(char **argv)
        volatile int failed;
        pid_t pid;
 
-// Ain't it a good place to fflush(NULL)?
+       fflush_all();
 
        /* Be nice to nommu machines. */
        failed = 0;
index 241887ace8ce52f79c9af1124efed523be9e7530..644134a0e01392fd976a03e2dd1815793bd155fe 100644 (file)
@@ -255,12 +255,9 @@ void FAST_FUNC die_if_ferror_stdout(void)
        die_if_ferror(stdout, bb_msg_standard_output);
 }
 
-// Die with an error message if we have trouble flushing stdout.
-void FAST_FUNC xfflush_stdout(void)
+int FAST_FUNC fflush_all(void)
 {
-       if (fflush(stdout)) {
-               bb_perror_msg_and_die(bb_msg_standard_output);
-       }
+       return fflush(NULL);
 }
 
 
@@ -276,9 +273,9 @@ int FAST_FUNC bb_putchar(int ch)
  * then close that file. */
 void FAST_FUNC xprint_and_close_file(FILE *file)
 {
-       fflush(stdout);
+       fflush_all();
        // copyfd outputs error messages for us.
-       if (bb_copyfd_eof(fileno(file), 1) == -1)
+       if (bb_copyfd_eof(fileno(file), STDOUT_FILENO) == -1)
                xfunc_die();
 
        fclose(file);
index c3e31d05d9e0d9fe81de97be4f42e017e532e309..1ffa965c2c6bfd618dc1a40a45b7ba0370d5682a 100644 (file)
@@ -137,7 +137,7 @@ static void die_if_nologin(void)
                puts("\r\nSystem closed for routine maintenance\r");
 
        fclose(fp);
-       fflush(NULL);
+       fflush_all();
        /* Users say that they do need this prior to exit: */
        tcdrain(STDOUT_FILENO);
        exit(EXIT_FAILURE);
@@ -250,7 +250,7 @@ static void motd(void)
 
        fd = open(bb_path_motd_file, O_RDONLY);
        if (fd >= 0) {
-               fflush(stdout);
+               fflush_all();
                bb_copyfd_eof(fd, STDOUT_FILENO);
                close(fd);
        }
@@ -263,7 +263,7 @@ static void alarm_handler(int sig UNUSED_PARAM)
         * We don't want to block here */
        ndelay_on(1);
        printf("\r\nLogin timed out after %d seconds\r\n", TIMEOUT);
-       fflush(NULL);
+       fflush_all();
        /* unix API is brain damaged regarding O_NONBLOCK,
         * we should undo it, or else we can affect other processes */
        ndelay_off(1);
index 68883ff42c030097ceed6ac96d09cb14758873dd..64a5b996f4f831517bf860380246760740707fe8 100644 (file)
@@ -87,7 +87,7 @@ const FAST_FUNC char *command(const char *fmt, const char *param)
                msg = xasprintf(fmt, param);
                printf("%s\r\n", msg);
        }
-       fflush(stdout);
+       fflush_all();
        return msg;
 }
 
index 4f3e94dc123643ca60590370495bf2e81751bf51..ba0a6b515e7a84d9f5d00d3e109c378823bde9cc 100644 (file)
@@ -43,7 +43,7 @@ static void show_progress(mtd_info_t *meminfo, erase_info_t *erase)
        printf("\rErasing %d Kibyte @ %x -- %2llu %% complete.",
                (unsigned)meminfo->erasesize / 1024, erase->start,
                (unsigned long long) erase->start * 100 / meminfo->size);
-       fflush(stdout);
+       fflush_all();
 }
 
 int flash_eraseall_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
index c4d2f3b03d50d4cc91557de93054b1cf2656eee3..399b77a4a6db56820cc039a09794d7a65ff4cedd 100644 (file)
@@ -1406,7 +1406,7 @@ static void do_time(int cache /*,int fd*/)
        } else { /* Time device */
                printf("Timing buffered disk reads:");
        }
-       fflush(stdout);
+       fflush_all();
 
        /* Now do the timing */
        iterations = 0;
index ce77ddd3a1e1ceecc3d22fef5d2fc4aef58bed6b..48f3a751f03cb2fde066f0b6bb812c7e2f209b63 100644 (file)
@@ -157,7 +157,7 @@ struct globals {
 /* Reset terminal input to normal */
 static void set_tty_cooked(void)
 {
-       fflush(stdout);
+       fflush_all();
        tcsetattr(kbd_fd, TCSANOW, &term_orig);
 }
 
@@ -835,7 +835,7 @@ static int getch_nowait(void)
        /* Position cursor if line input is done */
        if (less_gets_pos >= 0)
                move_cursor(max_displayed_line + 2, less_gets_pos + 1);
-       fflush(stdout);
+       fflush_all();
 
        if (kbd_input[0] == 0) { /* if nothing is buffered */
 #if ENABLE_FEATURE_LESS_WINCH
index 71690cf30de7acfc9e8fd99cfd76ec9e390c4425..e3418a9459bbe0a781b0fbaa38a91ff6db7cabcf 100644 (file)
@@ -237,7 +237,7 @@ static bool recv_pack(unsigned char *buf, int len, struct sockaddr_ll *FROM)
                } else {
                        printf(" UNSOLICITED?\n");
                }
-               fflush(stdout);
+               fflush_all();
        }
        received++;
        if (FROM->sll_pkttype != PACKET_HOST)
index 70a353312e5c2c1262410670d585c8c2eace20c7..9937cc3ea37c6b985035a7aafb55954207dbb064 100644 (file)
@@ -630,7 +630,7 @@ popen_ls(const char *opt)
        cwd = xrealloc_getcwd_or_warn(NULL);
        xpiped_pair(outfd);
 
-       /*fflush(NULL); - so far we dont use stdio on output */
+       /*fflush_all(); - so far we dont use stdio on output */
        pid = BB_MMU ? fork() : vfork();
        if (pid < 0)
                bb_perror_msg_and_die(BB_MMU ? "fork" : "vfork");
index d0c5cce07b552865d7c52783beca20946d53bd21..88d1944da6574ee8633149110ff8224ae2cd4ec0 100644 (file)
@@ -969,7 +969,7 @@ static int doit(char *str)
                pid_t child;
                int status;
 
-               fflush(NULL);
+               fflush_all();
                child = vfork();
                switch (child) {
                case -1: /* failure */
@@ -1038,7 +1038,7 @@ static int popen2(FILE **in, FILE **out, char *command, char *param)
        xpiped_pair(infd);
        xpiped_pair(outfd);
 
-       fflush(NULL);
+       fflush_all();
        pid = vfork();
 
        switch (pid) {
index 86d27548baf219f43e5d2962f5ca7a7b41fdadc6..fcf9623e430a35f56429596c514193d0aaec07a2 100644 (file)
@@ -182,7 +182,7 @@ static NOINLINE int print_linkinfo(const struct nlmsghdr *n)
                }
        }
        bb_putchar('\n');
-       /*fflush(stdout);*/
+       /*fflush_all();*/
        return 0;
 }
 
@@ -344,7 +344,7 @@ static int FAST_FUNC print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM,
                printf("       %s", buf);
        }
        bb_putchar('\n');
-       /*fflush(stdout);*/
+       /*fflush_all();*/
        return 0;
 }
 
index e52473117f6b03baf5ff864b4f63d93b31574137..659f3a9f0c71784470f22ac293872b862729e61a 100644 (file)
@@ -151,7 +151,7 @@ static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM,
                fputs(rtnl_rtntype_n2a(r->rtm_type, b1), stdout);
 
        bb_putchar('\n');
-       /*fflush(stdout);*/
+       /*fflush_all();*/
        return 0;
 }
 
index 9aaeec100a27702c9a61a47332bfafd4a5de7523..ad98bed30ed25ad227f9f4900447ef377614c86e 100644 (file)
@@ -152,7 +152,7 @@ enum {
 /* Debug: squirt whatever message and sleep a bit so we can see it go by. */
 /* Beware: writes to stdOUT... */
 #if 0
-#define Debug(...) do { printf(__VA_ARGS__); printf("\n"); fflush(stdout); sleep(1); } while (0)
+#define Debug(...) do { printf(__VA_ARGS__); printf("\n"); fflush_all(); sleep(1); } while (0)
 #else
 #define Debug(...) do { } while (0)
 #endif
index 71b2a4be8812e47dcb3c54346974ea47a654ecd5..d30eb5cfa07710a9c056304d66977502707f2660 100644 (file)
@@ -491,7 +491,7 @@ static void unpack_tail(int sz, uint32_t *tp,
        if (tp)
                printf(" time=%u.%03u ms", triptime / 1000, triptime % 1000);
        puts(dupmsg);
-       fflush(stdout);
+       fflush_all();
 }
 static void unpack4(char *buf, int sz, struct sockaddr_in *from)
 {
index 163efaa4213f5f6406838319ca280f8930ce1fdb..b0a1cc4d8632a71d6713aa967f98b411827b4c9c 100644 (file)
@@ -288,7 +288,7 @@ make_new_session(
                /*ts->size2 = 0;*/
        }
 
-       fflush(NULL); /* flush all streams */
+       fflush_all();
        pid = vfork(); /* NOMMU-friendly */
        if (pid < 0) {
                free(ts);
@@ -331,7 +331,7 @@ make_new_session(
        /*termbuf.c_lflag &= ~ICANON;*/
        tcsetattr_stdin_TCSANOW(&termbuf);
 
-       /* Uses FILE-based I/O to stdout, but does fflush(stdout),
+       /* Uses FILE-based I/O to stdout, but does fflush_all(),
         * so should be safe with vfork.
         * I fear, though, that some users will have ridiculously big
         * issue files, and they may block writing to fd 1,
index 7284f0022d51facd417c4cd71db3ed07d2b603f8..fa45db98a3d8f8d771856e321f8926dbc835be6b 100644 (file)
@@ -815,7 +815,7 @@ int traceroute_main(int argc, char **argv)
 
                        if (!first && pausemsecs > 0)
                                usleep(pausemsecs * 1000);
-                       fflush(stdout);
+                       fflush_all();
 
                        t1 = monotonic_us();
                        send_probe(++seq, ttl);
index 252f6f74b8907d0c3e1ddb74e8a6848a53e88ae0..79915697ce5b107c58e72c054b9d4161682878fe 100644 (file)
@@ -632,7 +632,7 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
        }
        /* printf(" %d", hist_iterations); */
        bb_putchar(OPT_BATCH_MODE ? '\n' : '\r');
-       fflush(stdout);
+       fflush_all();
 }
 #undef UPSCALE
 #undef SHOW_STAT
@@ -856,7 +856,7 @@ static NOINLINE void display_topmem_process_list(int lines_rem, int scr_width)
                s++;
        }
        bb_putchar(OPT_BATCH_MODE ? '\n' : '\r');
-       fflush(stdout);
+       fflush_all();
 #undef HDR_STR
 #undef MIN_WIDTH
 }
index 5fd051072fb9e4163c26e997a134a8093175303c..f446ec91817162cab556e04528299f9961bf767d 100644 (file)
@@ -64,7 +64,7 @@ int watch_main(int argc UNUSED_PARAM, char **argv)
 
                        puts(header);
                }
-               fflush(stdout);
+               fflush_all();
                // TODO: 'real' watch pipes cmd's output to itself
                // and does not allow it to overflow the screen
                // (taking into account linewrap!)
index b7fd152629c10748fbb6af8ed5a008f15e7c28cb..9a00fadee95e7fff7acc528cbe7e4d3f9028fb5b 100644 (file)
@@ -1152,7 +1152,7 @@ int svlogd_main(int argc, char **argv)
                        /* Move unprocessed data to the front of line */
                        memmove((timestamp ? line+26 : line), lineptr, stdin_cnt);
                }
-               fflush(NULL);////
+               fflush_all();////
        }
 
        for (i = 0; i < dirn; ++i) {
index 9e591c4d5ed9c65e5faaf759fda6b213274bb327..85a8aa9132bbafe4390d6d989ee66f0e3ff3b778 100644 (file)
@@ -187,7 +187,7 @@ int main(int argc, char **argv)
                putchar('\n');
        }
  ret:
-       return fflush(stdout);
+       return fflush_all();
 }
 
 /*-
index aabc371372a3d1a53cffbb75e1bc74c4adf503bd..0a46437840b04c55a017dcbf41a08668c4ff069d 100644 (file)
@@ -286,7 +286,7 @@ static int restore(const char *file)
                        if (count == 0)
                                bb_putchar('\n');
                        bb_putchar('*');
-                       fflush(stdout);
+                       fflush_all();
                }
        }
 
index 481b84138dbed7da9286ca525934f34097d3fa08..6b985ad7c436d194bef842957b9a504072128c3c 100644 (file)
@@ -389,16 +389,7 @@ static void
 flush_stdout_stderr(void)
 {
        INT_OFF;
-       fflush(stdout);
-       fflush(stderr);
-       INT_ON;
-}
-
-static void
-flush_stderr(void)
-{
-       INT_OFF;
-       fflush(stderr);
+       fflush_all();
        INT_ON;
 }
 
@@ -451,7 +442,7 @@ static void
 out2str(const char *p)
 {
        outstr(p, stderr);
-       flush_stderr();
+       flush_stdout_stderr();
 }
 
 
@@ -8184,7 +8175,7 @@ evaltree(union node *n, int flags)
        default:
 #if DEBUG
                out1fmt("Node type = %d\n", n->type);
-               fflush(stdout);
+               fflush_all();
                break;
 #endif
        case NNOT:
@@ -9101,7 +9092,7 @@ evalcommand(union node *cmd, int flags)
                for (;;) {
                        find_command(argv[0], &cmdentry, cmd_flag, path);
                        if (cmdentry.cmdtype == CMDUNKNOWN) {
-                               flush_stderr();
+                               flush_stdout_stderr();
                                status = 127;
                                goto bail;
                        }
index 1187cbe8fb60b7e5a9acd6af06a68c091c94e038..891d87be78a7d00f6a134db11467f602b0b5f5f0 100644 (file)
@@ -1206,7 +1206,7 @@ static void hush_exit(int exitcode)
        }
 
 #if ENABLE_HUSH_JOB
-       fflush(NULL); /* flush all streams */
+       fflush_all();
        sigexit(- (exitcode & 0xff));
 #else
        exit(exitcode);
@@ -1679,7 +1679,7 @@ static void get_user_input(struct in_str *i)
        do {
                G.flag_SIGINT = 0;
                fputs(prompt_str, stdout);
-               fflush(stdout);
+               fflush_all();
                G.user_input_buf[0] = r = fgetc(i->file);
                /*G.user_input_buf[1] = '\0'; - already is and never changed */
 //do we need check_and_run_traps(0)? (maybe only if stdin)
@@ -3220,7 +3220,7 @@ static void exec_function(char ***to_free,
        G.global_argc = n;
        /* On MMU, funcp->body is always non-NULL */
        n = run_list(funcp->body);
-       fflush(NULL);
+       fflush_all();
        _exit(n);
 # else
        re_execute_shell(to_free,
@@ -3307,7 +3307,7 @@ static void exec_builtin(char ***to_free,
 {
 #if BB_MMU
        int rcode = x->function(argv);
-       fflush(NULL);
+       fflush_all();
        _exit(rcode);
 #else
        /* On NOMMU, we must never block!
@@ -3933,7 +3933,7 @@ static NOINLINE int run_pipe(struct pipe *pi)
                                        debug_printf_exec(": builtin '%s' '%s'...\n",
                                                x->cmd, argv_expanded[1]);
                                        rcode = x->function(argv_expanded) & 0xff;
-                                       fflush(NULL);
+                                       fflush_all();
                                }
 #if ENABLE_HUSH_FUNCTIONS
                                else {
@@ -7136,7 +7136,7 @@ static int FAST_FUNC builtin_export(char **argv)
                                putchar('\n');
 #endif
                        }
-                       /*fflush(stdout); - done after each builtin anyway */
+                       /*fflush_all(); - done after each builtin anyway */
                }
                return EXIT_SUCCESS;
        }
@@ -7181,7 +7181,7 @@ static int FAST_FUNC builtin_trap(char **argv)
                                printf(" %s\n", get_signame(i));
                        }
                }
-               /*fflush(stdout); - done after each builtin anyway */
+               /*fflush_all(); - done after each builtin anyway */
                return EXIT_SUCCESS;
        }
 
index 603a3776cd36dc3edae7272804c32d244d25ba14..932bbecbba830200fe2e138d09db97519aa8442b 100644 (file)
@@ -135,7 +135,7 @@ int logread_main(int argc UNUSED_PARAM, char **argv)
                } else { /* logread -f */
                        if (cur == shbuf_tail) {
                                sem_up(log_semid);
-                               fflush(stdout);
+                               fflush_all();
                                sleep(1); /* TODO: replace me with a sleep_on */
                                continue;
                        }
index cdd3060317e4289dbe5b37ab8499333c5210152e..cc9eec22d5a62ff2b18236780185c04dc26159cd 100644 (file)
@@ -341,7 +341,7 @@ static int ask(const char *string, int def)
        }
        printf(def ? "%s (y/n)? " : "%s (n/y)? ", string);
        for (;;) {
-               fflush(NULL);
+               fflush_all();
                c = getchar();
                if (c == EOF) {
                        if (!def)
index cf757610b19f6d6c3cd973563d5a3ee1a83f7bf3..8819cee4e6f0a92cae8070245d6263b4c87a44e7 100644 (file)
@@ -505,7 +505,7 @@ static void alarm_intr(int alnum UNUSED_PARAM)
        if (!G.currently_testing)
                return;
        printf("%d ...", G.currently_testing);
-       fflush(stdout);
+       fflush_all();
 }
 
 static void check_blocks(void)
index 9ac4dd8e3860df563ecabcc393aede1745f7b87b..555f033d4cb92fa64dac52617c2bb92aaa843deb 100644 (file)
@@ -114,7 +114,7 @@ int more_main(int argc UNUSED_PARAM, char **argv)
                                                (int) (ftello(file)*100 / st.st_size),
                                                st.st_size);
                                }
-                               fflush(stdout);
+                               fflush_all();
 
                                /*
                                 * We've just displayed the "--More--" prompt, so now we need
@@ -189,7 +189,7 @@ int more_main(int argc UNUSED_PARAM, char **argv)
                        putchar(c);
                }
                fclose(file);
-               fflush(stdout);
+               fflush_all();
        } while (*argv && *++argv);
  end:
        setTermSettings(cin_fileno, &initial_settings);
index f90f73cedbbd925da1176f5cfa65ac8b0e35cce2..049f699f5b9390efee957da3d5d1211bbf2c9f9d 100644 (file)
@@ -172,7 +172,7 @@ int rtcwake_main(int argc UNUSED_PARAM, char **argv)
 
        sync();
        printf("wakeup from \"%s\" at %s", suspend, ctime(&alarm_time));
-       fflush(NULL);
+       fflush_all();
        usleep(10 * 1000);
 
        if (strcmp(suspend, "on"))