sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

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:
Mnl.1 | 2+-
Mnl.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