diff --git a/README b/README index e21dd35..92f76f7 100644 --- a/README +++ b/README @@ -81,7 +81,7 @@ The following tools are implemented ('*' == finished, '#' == UTF-8 support, =*| true yes none =*| tty yes none =*| uname yes none -#* unexpand yes none +#*| unexpand yes none =* uniq yes none =*| unlink yes none =* uudecode yes none diff --git a/unexpand.c b/unexpand.c index c565670..c0f6d38 100644 --- a/unexpand.c +++ b/unexpand.c @@ -25,6 +25,7 @@ parselist(const char *s) eprintf("tablist must be ascending\n"); } tablist = ereallocarray(tablist, i + 1, sizeof(*tablist)); + return i; } @@ -148,18 +149,19 @@ main(int argc, char *argv[]) tablistlen = parselist(tl); - if (argc == 0) { + if (!argc) { unexpand("", stdin); } else { - for (; argc > 0; argc--, argv++) { - if (!(fp = fopen(argv[0], "r"))) { - weprintf("fopen %s:", argv[0]); + for (; *argv; argc--, argv++) { + if (!(fp = fopen(*argv, "r"))) { + weprintf("fopen %s:", *argv); ret = 1; continue; } - unexpand(argv[0], fp); + unexpand(*argv, fp); fclose(fp); } } + return ret; }