1
0

stest: restore stream testing

This commit is contained in:
Connor Lane Smith 2011-12-09 11:49:44 +01:00
parent 2ef2230c91
commit 1d944814cf
2 changed files with 10 additions and 2 deletions

View File

@ -13,7 +13,8 @@ stest \- filter a list of files by properties
.B stest
takes a list of files and filters by the files' properties, analogous to
.IR test (1).
Files which pass all tests are printed to stdout.
Files which pass all tests are printed to stdout. If no files are given, stest
reads files from stdin.
.SH OPTIONS
.TP
.B \-a

View File

@ -3,6 +3,7 @@
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
@ -17,7 +18,7 @@ static struct stat old, new;
int
main(int argc, char *argv[]) {
struct dirent *d;
char buf[BUFSIZ];
char buf[BUFSIZ], *p;
DIR *dir;
int opt;
@ -35,6 +36,12 @@ main(int argc, char *argv[]) {
fprintf(stderr, "usage: %s [-abcdefghlpqrsuwx] [-n file] [-o file] [file...]\n", argv[0]);
exit(2);
}
if(optind == argc)
while(fgets(buf, sizeof buf, stdin)) {
if((p = strchr(buf, '\n')))
*p = '\0';
test(buf, buf);
}
for(; optind < argc; optind++)
if(FLAG('l') && (dir = opendir(argv[optind]))) {
/* test directory contents */