From 3cf52d19581b2077480e7d2e63010baa1f5399c1 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 12 Oct 1999 22:26:06 +0000 Subject: More stuff... --- cat.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'cat.c') diff --git a/cat.c b/cat.c index 8718c4d02..5c54c4941 100644 --- a/cat.c +++ b/cat.c @@ -22,15 +22,27 @@ #include "internal.h" #include -const char cat_usage[] = "[file ...]"; -extern int cat_more_main(int argc, char **argv) +static void print_file( FILE *file) { int c; - FILE *file = stdin; + while ((c = getc(file)) != EOF) + putc(c, stdout); + fclose(file); + fflush(stdout); +} + +extern int cat_more_main(int argc, char **argv) +{ + FILE *file; + + if (argc==1) { + print_file( stdin); + exit( TRUE); + } - if ( (argc < 2) || (**(argv+1) == '-') ) { - fprintf(stderr, "Usage: %s %s", *argv, cat_usage); + if ( **(argv+1) == '-' ) { + fprintf(stderr, "Usage: cat [file ...]\n"); exit(FALSE); } argc--; @@ -42,11 +54,7 @@ extern int cat_more_main(int argc, char **argv) perror(*argv); exit(FALSE); } - while ((c = getc(file)) != EOF) - putc(c, stdout); - fclose(file); - fflush(stdout); - + print_file( file); argc--; argv++; } -- cgit v1.2.3-55-g6feb