changed the tre parser to treat a backslash as an escaper inside []
This commit is contained in:
parent
342c7ff32f
commit
73adc1f3dd
@ -278,6 +278,15 @@ tre_parse_bracket_items(tre_parse_ctx_t *ctx, int negate,
|
|||||||
if (min > max)
|
if (min > max)
|
||||||
status = REG_ERANGE;
|
status = REG_ERANGE;
|
||||||
}
|
}
|
||||||
|
/* QSE: handle \ as an escaper */
|
||||||
|
else if (re + 1 < ctx->re_end && *re == CHAR_BACKSLASH)
|
||||||
|
{
|
||||||
|
/* escaped character inside [] */
|
||||||
|
min = max = *(re + 1);
|
||||||
|
re += 2;
|
||||||
|
}
|
||||||
|
/* END QSE */
|
||||||
|
|
||||||
else if (re + 1 < ctx->re_end
|
else if (re + 1 < ctx->re_end
|
||||||
&& *re == CHAR_LBRACKET && *(re + 1) == CHAR_PERIOD)
|
&& *re == CHAR_LBRACKET && *(re + 1) == CHAR_PERIOD)
|
||||||
status = REG_ECOLLATE;
|
status = REG_ECOLLATE;
|
||||||
|
Loading…
Reference in New Issue
Block a user