From afd3a1e0662bc1ec1ccf779f2fbd2562decea519 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 22 Sep 2003 15:41:05 +0000 Subject: [PATCH] (UNROLL): Remove. (main): Exit immediately when write failure is detected. Simplify code by assigning to argv when argc == 1. --- src/yes.c | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/src/yes.c b/src/yes.c index 6f62cb7..f77ec56 100644 --- a/src/yes.c +++ b/src/yes.c @@ -32,9 +32,6 @@ #define WRITTEN_BY _("Written by David MacKenzie.") -/* How many iterations between ferror checks. */ -#define UNROLL 10000 - /* The name this program was run with. */ char *program_name; @@ -81,34 +78,19 @@ main (int argc, char **argv) if (argc == 1) { - while (1) - { - int i; - for (i = 0; i < UNROLL; i++) - puts ("y"); - if (ferror (stdout)) - break; - } + argv[1] = "y"; + argc = 2; } - else + + for (;;) { - while (1) - { - int i; - for (i = 0; i < UNROLL; i++) - { - int j; - for (j = 1; j < argc; j++) - { - fputs (argv[j], stdout); - putchar (j == argc - 1 ? '\n' : ' '); - } - } - if (ferror (stdout)) - break; - } + int i; + for (i = 1; i < argc; i++) + if (fputs (argv[i], stdout) == EOF + || putchar (i == argc - 1 ? '\n' : ' ') == EOF) + { + error (0, errno, _("standard output")); + exit (EXIT_FAILURE); + } } - - error (0, errno, _("standard output")); - exit (EXIT_FAILURE); } -- 2.7.4