version 1.5, 2002/05/30 07:36:44 |
version 1.6, 2003/05/06 22:10:11 |
|
|
} |
} |
| PATTERN namelist ';' = { |
| PATTERN namelist ';' = { |
struct namelist *nl; |
struct namelist *nl; |
char *cp, *re_comp(); |
char ebuf[BUFSIZ]; |
|
regex_t reg; |
|
int ecode; |
|
|
for (nl = $2; nl != NULL; nl = nl->n_next) |
for (nl = $2; nl != NULL; nl = nl->n_next) { |
if ((cp = re_comp(nl->n_name)) != NULL) |
/* check for a valid regex */ |
yyerror(cp); |
ecode = regcomp(®, nl->n_name, REG_NOSUB); |
|
if (ecode) { |
|
regerror(ecode, ®, ebuf, |
|
sizeof(ebuf)); |
|
yyerror(ebuf); |
|
} |
|
regfree(®); |
|
} |
$1->sc_args = expand($2, E_VARS); |
$1->sc_args = expand($2, E_VARS); |
$$ = $1; |
$$ = $1; |
} |
} |
|
|
|
|
nl = ALLOC(namelist); |
nl = ALLOC(namelist); |
nl->n_name = name; |
nl->n_name = name; |
|
nl->n_regex = NULL; |
nl->n_next = NULL; |
nl->n_next = NULL; |
|
|
return(nl); |
return(nl); |