sbase

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

commit b12041365dd492f602b049052c0bf8755771b4a9
parent 9fd4a745f8f3d51e18d7528118fbbf9dca1d66d6
Author: FRIGN <dev@frign.de>
Date:   Fri, 13 Mar 2015 00:37:37 +0100

Audit expand(1)

Not much to do here. Forgot a colon in the manpage and some style-
changes in the code.

Diffstat:
MREADME | 2+-
Mexpand.1 | 4++--
Mexpand.c | 14++++++++------
3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/README b/README @@ -29,7 +29,7 @@ The following tools are implemented ('*' == finished, '#' == UTF-8 support, =*| du yes none =*| echo yes none =*| env yes none -#* expand yes none +#*| expand yes none #* expr yes none =*| false yes none = find yes none diff --git a/expand.1 b/expand.1 @@ -1,4 +1,4 @@ -.Dd January 25, 2015 +.Dd March 13, 2015 .Dt EXPAND 1 .Os sbase .Sh NAME @@ -48,4 +48,4 @@ specification. .Pp The .Op Fl i -flag is an extension to that specification +flag is an extension to that specification. diff --git a/expand.c b/expand.c @@ -27,6 +27,7 @@ parselist(const char *s) tablist = ereallocarray(tablist, i + 1, sizeof(*tablist)); /* tab length = 1 for the overflowing case later in the matcher */ tablist[i] = 1; + return i; } @@ -87,8 +88,8 @@ int main(int argc, char *argv[]) { FILE *fp; + int ret = 0; char *tl = "8"; - int ret = 0; ARGBEGIN { case 'i': @@ -105,18 +106,19 @@ main(int argc, char *argv[]) tablistlen = parselist(tl); - if (argc == 0) { + if (!argc) { expand("<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; } - expand(argv[0], fp); + expand(*argv, fp); fclose(fp); } } + return ret; }