7 fprint(2, "usage: %s [-q] [-t secs] goodstring [badstring ...]\n", argv0);
18 writewithoutcr(int fd, char *p, int i)
23 for(e = p+i; p < e; ){
24 q = memchr(p, '\r', e-p);
28 if(write(fd, p, q-p) < 0)
33 if(write(fd, p, e-p) < 0)
39 main(int argc, char **argv)
44 int fd, i, m, n, bsize;
54 timeout = atoi(EARGF(usage()));
67 for(i = 1; i < argc; i++){
73 fd = open("/dev/cons", ORDWR);
75 sysfatal("opening /dev/cons: %r");
78 buf = malloc(bsize+1);
84 memmove(buf, &buf[sofar-n], n);
87 i = read(0, buf+sofar, bsize);
91 writewithoutcr(fd, buf+sofar, i);
95 if(cistrstr(buf, good))
97 for(i = 1; i < argc; i++)
98 if(cistrstr(buf, argv[i]))
101 if(strstr(buf, good))
103 for(i = 1; i < argc; i++)
104 if(strstr(buf, argv[i]))