patfile
SLIST_ENTRY(patfile) pf_next;
SLIST_HEAD(, patfile) patfilelh;
struct patfile *patfile, *pf_next;
patfile = grep_malloc(sizeof(*patfile));
patfile->pf_file = optarg;
SLIST_INSERT_HEAD(&patfilelh, patfile, pf_next);
for (patfile = SLIST_FIRST(&patfilelh); patfile != NULL;
patfile = pf_next) {
pf_next = SLIST_NEXT(patfile, pf_next);
read_patterns(patfile->pf_file);
free(patfile);