Browse Source

another BRE fix: in ^*, * is literal

i don't understand why this has to be conditional on being in BRE
mode, but enabling this code unconditionally breaks a huge number of
ERE test cases.
Rich Felker 13 years ago
parent
commit
e9cddc8e32
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/regex/regcomp.c

+ 2 - 0
src/regex/regcomp.c

@@ -1353,6 +1353,8 @@ tre_parse(tre_parse_ctx_t *ctx)
 	      if (ctx->cflags & REG_EXTENDED
 		  || ctx->re == ctx->re_start)
 		{
+		  if (!(ctx->cflags & REG_EXTENDED))
+		    STACK_PUSHX(stack, int, PARSE_CATENATION);
 		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
 					       ASSERT_AT_BOL, -1);
 		  if (result == NULL)