From 171ef71c7407bffd8b418b1142b1ee4879e97259 Mon Sep 17 00:00:00 2001 From: Connor Lane Smith Date: Thu, 31 May 2012 19:38:18 +0100 Subject: [PATCH] cat: ARGBEGIN --- cat.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/cat.c b/cat.c index 99ae349..a07edf1 100644 --- a/cat.c +++ b/cat.c @@ -9,15 +9,19 @@ int main(int argc, char *argv[]) { FILE *fp; + int i; - if(getopt(argc, argv, "") != -1) - exit(EXIT_FAILURE); - if(optind == argc) + ARGBEGIN { + default: + eprintf("usage: %s [files...]\n", argv0); + } ARGEND; + + if(argc == 0) concat(stdin, "", stdout, ""); - else for(; optind < argc; optind++) { - if(!(fp = fopen(argv[optind], "r"))) - eprintf("fopen %s:", argv[optind]); - concat(fp, argv[optind], stdout, ""); + else for(i = 0; i < argc; i++) { + if(!(fp = fopen(argv[i], "r"))) + eprintf("fopen %s:", argv[i]); + concat(fp, argv[i], stdout, ""); fclose(fp); } return EXIT_SUCCESS;