projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tar -Z, uncompress support
[oweals/busybox.git]
/
coreutils
/
yes.c
diff --git
a/coreutils/yes.c
b/coreutils/yes.c
index a822ebc1d4e019b4be1347e15e575521758b4106..74f7571cfc800e52764a278577861cd72d82c942 100644
(file)
--- a/
coreutils/yes.c
+++ b/
coreutils/yes.c
@@
-1,8
+1,8
@@
/* vi: set sw=4 ts=4: */
/*
/* vi: set sw=4 ts=4: */
/*
- *
Mini
yes implementation for busybox
+ * yes implementation for busybox
*
*
- * Copyright (C) 200
0 Edward Betts <edward@debian.org>.
+ * Copyright (C) 200
3 Manuel Novoa III <mjn3@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-20,32
+20,37
@@
*
*/
*
*/
-#include "internal.h"
+/* BB_AUDIT SUSv3 N/A -- Matches GNU behavior. */
+
+/* Mar 16, 2003 Manuel Novoa III (mjn3@codepoet.org)
+ *
+ * Size reductions and removed redundant applet name prefix from error messages.
+ */
+
#include <stdio.h>
#include <stdio.h>
+#include <stdlib.h>
+#include "busybox.h"
extern int yes_main(int argc, char **argv)
{
extern int yes_main(int argc, char **argv)
{
- int i;
+ static const char fmt_str[] = " %s";
+ const char *fmt;
+ char **first_arg;
- if (argc >=1 && *argv[1]=='-') {
- usage("yes [OPTION]... [STRING]...\n\n"
-
"Repeatedly outputs a line with all specified STRING(s), or `y'.\n")
;
+ *argv = "y";
+ if (argc != 1) {
+
++argv
;
}
}
- if (argc == 1) {
- while (1)
- if (puts("y") == EOF) {
- perror("yes");
- exit(FALSE);
- }
- }
+ first_arg = argv;
+ do {
+ fmt = fmt_str + 1;
+ do {
+ bb_printf(fmt, *argv);
+ fmt = fmt_str;
+ } while (*++argv);
+ argv = first_arg;
+ } while (putchar('\n') != EOF);
- while (1)
- for (i = 1; i < argc; i++)
- if (fputs(argv[i], stdout) == EOF
- || putchar(i == argc - 1 ? '\n' : ' ') == EOF) {
- perror("yes");
- exit(FALSE);
- }
- exit(TRUE);
+ bb_perror_nomsg_and_die();
}
}