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:
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;