diff options
author | jmallett <jmallett@FreeBSD.org> | 2002-07-01 18:03:30 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2002-07-01 18:03:30 +0000 |
commit | 617eb0d7c2bea7cfff90b77cca07feec93b6db6c (patch) | |
tree | 9cfe131c2e65e1083d8fa62c913af202abf7e1d6 /usr.bin | |
parent | 4416f8270661dceb52114032c53cec62128437ba (diff) | |
download | FreeBSD-src-617eb0d7c2bea7cfff90b77cca07feec93b6db6c.zip FreeBSD-src-617eb0d7c2bea7cfff90b77cca07feec93b6db6c.tar.gz |
Back out my minorly disputed and possibly not well thought out changes to how
arguments are processed, at least temporarily.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/lam/lam.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/usr.bin/lam/lam.c b/usr.bin/lam/lam.c index 1171153..9791d38 100644 --- a/usr.bin/lam/lam.c +++ b/usr.bin/lam/lam.c @@ -83,12 +83,11 @@ main(int argc, char *argv[]) { struct openfile *ip; - if (argc > MAXOFILES) - errx(1, "too many input files"); - else if (argc == 1) + if (argc == 1) usage(); - getargs(argv); + if (!morefiles) + usage(); for (;;) { linep = line; for (ip = input; ip->fp != NULL; ip++) @@ -114,10 +113,11 @@ getargs(char *av[]) P = S = F = T = 0; /* capitalized options */ while ((p = *++av) != NULL) { if (*p != '-' || !p[1]) { - morefiles++; - if (*p == '-') { + if (++morefiles >= MAXOFILES) + errx(1, "too many input files"); + if (*p == '-') ip->fp = stdin; - } else if ((ip->fp = fopen(p, "r")) == NULL) { + else if ((ip->fp = fopen(p, "r")) == NULL) { err(1, "%s", p); } ip->pad = P; |