diff options
Diffstat (limited to 'coreutils/tee.c')
-rw-r--r-- | coreutils/tee.c | 129 |
1 files changed, 64 insertions, 65 deletions
diff --git a/coreutils/tee.c b/coreutils/tee.c index 4c5c691..2f746f9 100644 --- a/coreutils/tee.c +++ b/coreutils/tee.c @@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* * Mini tee implementation for busybox * @@ -25,102 +26,100 @@ #include <stdio.h> static const char tee_usage[] = - "tee [OPTION]... [FILE]...\n\n" - "Copy standard input to each FILE, and also to standard output.\n\n" - "Options:\n" - "\t-a\tappend to the given FILEs, do not overwrite\n" + "tee [OPTION]... [FILE]...\n\n" + "Copy standard input to each FILE, and also to standard output.\n\n" + "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite\n" #if 0 - "\t-i\tignore interrupt signals\n" + "\t-i\tignore interrupt signals\n" #endif - ; +; /* FileList _______________________________________________________________ */ #define FL_MAX 1024 static FILE *FileList[FL_MAX]; -static int FL_end; +static int FL_end; + +typedef void (FL_Function) (FILE * file, char c); -typedef void (FL_Function)(FILE *file, char c); - /* apply a function to everything in FileList */ -static void -FL_apply(FL_Function *f, char c) +static void FL_apply(FL_Function * f, char c) { - int i; - for (i = 0; i <= FL_end; i++) { - f(FileList[i], c); - } + int i; + + for (i = 0; i <= FL_end; i++) { + f(FileList[i], c); + } } /* FL_Function for writing to files*/ -static void -tee_fwrite(FILE *file, char c) +static void tee_fwrite(FILE * file, char c) { - fputc(c, file); + fputc(c, file); } /* FL_Function for closing files */ -static void -tee_fclose(FILE *file, char c) +static void tee_fclose(FILE * file, char c) { - fclose(file); + fclose(file); } /* ________________________________________________________________________ */ /* BusyBoxed tee(1) */ -int -tee_main(int argc, char **argv) +int tee_main(int argc, char **argv) { - int i; - char c; - char opt; - char opt_fopen[2] = "w"; - FILE *file; - - /* parse argv[] */ - for (i = 1; i < argc; i++) { - if (argv[i][0] == '-') { - opt = argv[i][1]; - switch (opt) { - case 'a': - opt_fopen[0] = 'a'; - break; + int i; + char c; + char opt; + char opt_fopen[2] = "w"; + FILE *file; + + /* parse argv[] */ + for (i = 1; i < argc; i++) { + if (argv[i][0] == '-') { + opt = argv[i][1]; + switch (opt) { + case 'a': + opt_fopen[0] = 'a'; + break; #if 0 - case 'i': - fprintf(stderr, "ignore interrupt not implemented\n"); - break; + case 'i': + fprintf(stderr, "ignore interrupt not implemented\n"); + break; #endif - default: - usage(tee_usage); - } - } else { - break; + default: + usage(tee_usage); + } + } else { + break; + } } - } - - /* init FILE pointers */ - FL_end = 0; - FileList[0] = stdout; - for ( ; i < argc; i++) { - /* add a file to FileList */ - file = fopen(argv[i], opt_fopen); - if (!file) { continue; } - if (FL_end < FL_MAX) { - FileList[++FL_end] = file; + + /* init FILE pointers */ + FL_end = 0; + FileList[0] = stdout; + for (; i < argc; i++) { + /* add a file to FileList */ + file = fopen(argv[i], opt_fopen); + if (!file) { + continue; + } + if (FL_end < FL_MAX) { + FileList[++FL_end] = file; + } } - } - /* read and redirect */ - while ((c = (char) getchar()) && (!feof(stdin))) { - FL_apply(tee_fwrite, c); - } + /* read and redirect */ + while ((c = (char) getchar()) && (!feof(stdin))) { + FL_apply(tee_fwrite, c); + } - /* clean up */ - FL_apply(tee_fclose, 0); - exit(0); + /* clean up */ + FL_apply(tee_fclose, 0); + exit(0); } -/* $Id: tee.c,v 1.5 2000/02/07 05:29:42 erik Exp $ */ +/* $Id: tee.c,v 1.6 2000/02/08 19:58:47 erik Exp $ */ |