mirror of git://git.suckless.org/dmenu
stest: restore stream testing
This commit is contained in:
parent
32ef0f5662
commit
6b1d658d12
3
stest.1
3
stest.1
|
@ -13,7 +13,8 @@ stest \- filter a list of files by properties
|
||||||
.B stest
|
.B stest
|
||||||
takes a list of files and filters by the files' properties, analogous to
|
takes a list of files and filters by the files' properties, analogous to
|
||||||
.IR test (1).
|
.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
|
.SH OPTIONS
|
||||||
.TP
|
.TP
|
||||||
.B \-a
|
.B \-a
|
||||||
|
|
9
stest.c
9
stest.c
|
@ -3,6 +3,7 @@
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
@ -17,7 +18,7 @@ static struct stat old, new;
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[]) {
|
main(int argc, char *argv[]) {
|
||||||
struct dirent *d;
|
struct dirent *d;
|
||||||
char buf[BUFSIZ];
|
char buf[BUFSIZ], *p;
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
int opt;
|
int opt;
|
||||||
|
|
||||||
|
@ -35,6 +36,12 @@ main(int argc, char *argv[]) {
|
||||||
fprintf(stderr, "usage: %s [-abcdefghlpqrsuwx] [-n file] [-o file] [file...]\n", argv[0]);
|
fprintf(stderr, "usage: %s [-abcdefghlpqrsuwx] [-n file] [-o file] [file...]\n", argv[0]);
|
||||||
exit(2);
|
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++)
|
for(; optind < argc; optind++)
|
||||||
if(FLAG('l') && (dir = opendir(argv[optind]))) {
|
if(FLAG('l') && (dir = opendir(argv[optind]))) {
|
||||||
/* test directory contents */
|
/* test directory contents */
|
||||||
|
|
Loading…
Reference in New Issue