Allow strings(1) to operate on more than one file
This commit is contained in:
parent
484d5b4340
commit
12ad81fa24
@ -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
|
||||
|
16
strings.c
16
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;
|
||||
|
Loading…
Reference in New Issue
Block a user