static int n_regexp(node *nn, const char *p, size_t sz)
{
node_regexp *n = (node_regexp *)nn;
static int n_regexp(node *nn, const char *p, size_t sz)
{
node_regexp *n = (node_regexp *)nn;
int e;
switch (e = regexec(&n->rx, p, 0, 0, 0)) {
int e;
switch (e = regexec(&n->rx, p, 0, 0, 0)) {
regerror(e, &n->rx, buf, sizeof(buf));
die("error matching regexp `%s' against `%s': %s",
n->s, p, buf);
regerror(e, &n->rx, buf, sizeof(buf));
die("error matching regexp `%s' against `%s': %s",
n->s, p, buf);
n->n.func = n_regexp;
if ((e = regcomp(&n->rx, av[0],
REG_EXTENDED | REG_ICASE | REG_NOSUB)) != 0) {
n->n.func = n_regexp;
if ((e = regcomp(&n->rx, av[0],
REG_EXTENDED | REG_ICASE | REG_NOSUB)) != 0) {
regerror(e, &n->rx, buf, sizeof(buf));
die("bad regular expression `%s': %s", av[0], buf);
}
regerror(e, &n->rx, buf, sizeof(buf));
die("bad regular expression `%s': %s", av[0], buf);
}