yes: Simplify, only support one argument
The previous code was too difficult to decipher for such a simple tool. Since yes(1) is not specified in any standard and several well-known implementations only support a single argument, do the same here. Thanks to everyone who offered implementation suggestions in the hackers@suckless.org email thread.
This commit is contained in:
13
yes.c
13
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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user