Browse Source

fix * at the start of a BRE subexpression

commit 7eaa76fc2e made * invalid at
the start of a BRE subexpression, but it should be accepted as
literal * there according to the standard.

This patch does not fix subexpressions starting with ^*.
master
Szabolcs Nagy 10 years ago
committed by Rich Felker
parent
commit
39ea71fb8a
  1. 4
      src/regex/regcomp.c

4
src/regex/regcomp.c

@ -889,7 +889,6 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s)
s++;
break;
case '*':
return REG_BADPAT;
case '{':
case '+':
case '?':
@ -978,9 +977,6 @@ static reg_errcode_t tre_parse(tre_parse_ctx_t *ctx)
}
parse_iter:
/* extension: repetitions are rejected after an empty node
eg. (+), |*, {2}, but assertions are not treated as empty
so ^* or $? are accepted currently. */
for (;;) {
int min, max;

Loading…
Cancel
Save