Browse Source

suppress backref processing in ERE regcomp

one of the features of ERE is that it's actually a regular language
and does not admit expressions which cannot be matched in linear time.
introduction of \n backref support into regcomp's ERE parsing was
unintentional.
master
Rich Felker 11 years ago
parent
commit
7c8c86f630
  1. 2
      src/regex/regcomp.c

2
src/regex/regcomp.c

@ -839,7 +839,7 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s)
s--;
break;
default:
if (isdigit(*s)) {
if (!ere && isdigit(*s)) {
/* back reference */
int val = *s - '0';
node = tre_ast_new_literal(ctx->mem, BACKREF, val, ctx->position);

Loading…
Cancel
Save