sbase

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

commit 12ad81fa245ee1c9e37a7527741a08bd3ba7df5a
parent 484d5b434057e82275371f7fe64ef5ae6dfcb82c
Author: sin <sin@2f30.org>
Date:   Thu, 10 Oct 2013 16:04:15 +0100

Allow strings(1) to operate on more than one file

Diffstat:
Mstrings.1 | 2+-
Mstrings.c | 16+++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/strings.1 b/strings.1 @@ -3,7 +3,7 @@ strings \- print the strings of printable characters in files .SH SYNOPSIS .B strings -.IR [file...] +.IR file... .SH DESCRIPTION .B strings prints the printable character sequences that are at least 6 characters diff --git a/strings.c b/strings.c @@ -9,7 +9,7 @@ static void dostrings(FILE *fp, const char *fname); static void usage(void) { - eprintf("usage: %s file\n", argv0); + eprintf("usage: %s file...\n", argv0); } int @@ -22,13 +22,15 @@ main(int argc, char *argv[]) usage(); } ARGEND; - if (argc > 0) { - if (!(fp = fopen(argv[0], "r"))) - eprintf("open %s:", argv[0]); - dostrings(fp, argv[0]); - fclose(fp); - } else { + if (argc == 0) { dostrings(stdin, "<stdin>"); + } else { + for (; argc > 0; argc--, argv++) { + if (!(fp = fopen(argv[0], "r"))) + eprintf("open %s:", argv[0]); + dostrings(fp, argv[0]); + fclose(fp); + } } return EXIT_SUCCESS;