diff --git a/yes.1 b/yes.1 index 87e390a..f3803ad 100644 --- a/yes.1 +++ b/yes.1 @@ -3,12 +3,12 @@ .Os sbase .Sh NAME .Nm yes -.Nd output strings repeatedly +.Nd output string repeatedly .Sh SYNOPSIS .Nm -.Op Ar string ... +.Op Ar string .Sh DESCRIPTION .Nm -will repeatedly write 'y' or a line with each +will repeatedly write 'y' or .Ar string to stdout. diff --git a/yes.c b/yes.c index ffc77f0..b5c3c10 100644 --- a/yes.c +++ b/yes.c @@ -6,23 +6,20 @@ static void usage(void) { - eprintf("usage: %s [string ...]\n", argv0); + eprintf("usage: %s [string]\n", argv0); } int main(int argc, char *argv[]) { - char **p; + const char *s; ARGBEGIN { default: usage(); } ARGEND - for (p = argv; ; p = (*p && *(p + 1)) ? p + 1 : argv) { - fputs(*p ? *p : "y", stdout); - putchar((!*p || !*(p + 1)) ? '\n' : ' '); - } - - return 1; /* not reached */ + s = argc ? argv[0] : "y"; + for (;;) + puts(s); }