sbase

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

commit 5af4cdcd60d85e855893c96b6ea88dd60fc785ca
parent f6dc69eca3d75b9c37291e2e7201c2ab09e29be6
Author: FRIGN <dev@frign.de>
Date:   Tue Mar 17 23:45:03 +0100

Audit unexpand(1)

I checked the algorithm already a while ago. What was left was a
couple of style-fixes.

Diffstat:
README | 2+-
unexpand.c | 12+++++++-----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git 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 @@ -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>", 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; }