commit 761599ae61b8c9dfc1af047e502f62cbb7e55e53
parent 86c88d8b3aa0e8766775d7bae53a47498fb7b61c
Author: sin <sin@2f30.org>
Date: Thu, 4 Dec 2014 12:04:41 +0000
nl(1) should handle up to 1 file
Diffstat:
M | nl.1 | | | 2 | +- |
M | nl.c | | | 18 | ++++++++---------- |
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/nl.1 b/nl.1
@@ -9,7 +9,7 @@ nl \- number lines
.IR increment ]
.RB [ \-s
.IR separator ]
-.RI [ file ...]
+.RI [ file ]
.SH DESCRIPTION
.B nl
reads each file in sequence and writes it to stdout with non\-empty lines
diff --git a/nl.c b/nl.c
@@ -18,8 +18,7 @@ static regex_t preg;
static void
usage(void)
{
- eprintf("usage: %s [-b style] [-i increment] [-s sep] [FILE...]\n",
- argv0);
+ eprintf("usage: %s [-b style] [-i increment] [-s sep] [file]\n", argv0);
}
int
@@ -27,7 +26,6 @@ main(int argc, char *argv[])
{
FILE *fp;
char *r;
- int ret = 0;
ARGBEGIN {
case 'b':
@@ -48,18 +46,18 @@ main(int argc, char *argv[])
usage();
} ARGEND;
+ if (argc > 1)
+ usage();
+
if (argc == 0) {
nl("<stdin>", stdin);
- } else for (; argc > 0; argc--, argv++) {
- if (!(fp = fopen(argv[0], "r"))) {
- weprintf("fopen %s:", argv[0]);
- ret = 1;
- continue;
- }
+ } else {
+ if (!(fp = fopen(argv[0], "r")))
+ eprintf("fopen %s:", argv[0]);
nl(argv[0], fp);
fclose(fp);
}
- return ret;
+ return 0;
}
void