30 #include <sys/types.h>
51 void error (
const char *format, ...)
54 va_start (argptr, format);
55 fprintf (stderr,
"%s error: ",
prog);
56 (void) vfprintf (stderr, format, argptr);
72 fprintf (stderr,
"%s: %s %s\n",
prog, __DATE__, __TIME__);
100 fprintf (stderr,
"%s: unknown option `-%s'\n",
prog, *argv);
108 #define INF_BUF_SIZE 32768U
124 if ((r = read (fd, p, b)) == (
unsigned) -1)
134 while ((b -= r) > 0);
135 while (p !=
inf_buf && *--p !=
'\n')
137 while (p !=
inf_buf && *--p !=
'\n')
148 while (p !=
inf_buf && p[-1] !=
'\n')
155 printf (
"%5d:\t%s\n",
line_no, p0);
174 if (c >= t->
ch[0] && c <= t->
ch[1])
179 if ((s = dfaar[t->
to])->rule_no &&
187 if ((
unsigned) *p >= t->
ch[0]
188 && (
unsigned) *p <= t->ch[1])
206 fprintf (stderr,
"%s: read error\n",
prog);
232 int main (
int argc,
char **argv)
234 const char *pattern = NULL;
242 fprintf (stderr,
"usage: agrep [options] pattern file..\n");
243 fprintf (stderr,
" -v dfa verbose\n");
244 fprintf (stderr,
" -n show lines\n");
245 fprintf (stderr,
" -d debug\n");
246 fprintf (stderr,
" -V show version\n");
249 setbuf (stdout, outbuf);
254 if (**++argv !=
'-' && **argv)
262 fprintf (stderr,
"%s: illegal pattern\n",
prog);
270 fd = open (*argv, O_RDONLY |
O_BINARY);
273 fprintf (stderr,
"%s: couldn't open `%s'\n",
prog, *argv);
284 fprintf (stderr,
"usage:\n "
285 " %s [-d] [-v] [-n] [-f] pattern file ..\n",
prog);