sbase

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

commit 6449db8691e66ad53c276d41fb15179990d62aff
parent dfd0e6e77da59d3e78e89ad6068f4416ca56d8c8
Author: sin <sin@2f30.org>
Date:   Thu, 13 Nov 2014 15:23:28 +0000

Make both arguments to cmp(1) mandatory and handle "-" properly

Diffstat:
Mcmp.c | 20+++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/cmp.c b/cmp.c @@ -10,7 +10,7 @@ enum { Same = 0, Diff = 1, Error = 2 }; static void usage(void) { - enprintf(Error, "usage: %s [-ls] file1 [file2]\n", argv0); + enprintf(Error, "usage: %s [-ls] file1 file2\n", argv0); } int @@ -34,23 +34,25 @@ main(int argc, char *argv[]) usage(); } ARGEND; - if (argc < 1 || argc > 2) + if (argc != 2) usage(); + if (argv[0][0] == '-') + argv[0] = "/dev/fd/0"; fp[0] = fopen(argv[0], "r"); if (!fp[0]) { if(!sflag) weprintf("fopen %s:", argv[0]); exit(Error); } - fp[1] = stdin; - if (argc == 2) { - if(!(fp[1] = fopen(argv[1], "r"))) { - if(!sflag) - weprintf("fopen %s:", argv[1]); - exit(Error); - } + if (argv[1][0] == '-') + argv[1] = "/dev/fd/0"; + fp[1] = fopen(argv[1], "r"); + if (!fp[1]) { + if(!sflag) + weprintf("fopen %s:", argv[1]); + exit(Error); } for(n = 1; ; n++) {