pipe_progress: shrink
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 6 Jun 2010 16:19:25 +0000 (18:19 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 6 Jun 2010 16:19:25 +0000 (18:19 +0200)
function                                             old     new   delta
pipe_progress_main                                   163     151     -12

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
debianutils/pipe_progress.c

index fa98e8b..ced5fb3 100644 (file)
@@ -6,7 +6,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
-
 #include "libbb.h"
 
 #define PIPE_PROGRESS_SIZE 4096
 int pipe_progress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pipe_progress_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
 {
-       RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE);
+       char buf[PIPE_PROGRESS_SIZE];
        time_t t = time(NULL);
-       size_t len;
+       int len;
 
-       while ((len = fread(buf, 1, PIPE_PROGRESS_SIZE, stdin)) > 0) {
+       while ((len = safe_read(STDIN_FILENO, buf, PIPE_PROGRESS_SIZE)) > 0) {
                time_t new_time = time(NULL);
                if (new_time != t) {
                        t = new_time;
                        fputc('.', stderr);
                }
-               fwrite(buf, len, 1, stdout);
+               full_write(STDOUT_FILENO, buf, len);
        }
 
        fputc('\n', stderr);
 
-       if (ENABLE_FEATURE_CLEAN_UP)
-               RELEASE_CONFIG_BUFFER(buf);
-
        return 0;
 }