comparison src/regex.c @ 233:52952cbfc5b5 r20-5b15

Import from CVS: tag r20-5b15
author cvs
date Mon, 13 Aug 2007 10:14:14 +0200
parents 41ff10fd062f
children 084402c475ba
comparison
equal deleted inserted replaced
232:aa6545ea0638 233:52952cbfc5b5
2634 2634
2635 2635
2636 case ')': 2636 case ')':
2637 if (syntax & RE_NO_BK_PARENS) goto normal_backslash; 2637 if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
2638 2638
2639 if (COMPILE_STACK_EMPTY) 2639 if (COMPILE_STACK_EMPTY) {
2640 if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) 2640 if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
2641 goto normal_backslash; 2641 goto normal_backslash;
2642 else 2642 else
2643 FREE_STACK_RETURN (REG_ERPAREN); 2643 FREE_STACK_RETURN (REG_ERPAREN);
2644 }
2644 2645
2645 handle_close: 2646 handle_close:
2646 if (fixup_alt_jump) 2647 if (fixup_alt_jump)
2647 { /* Push a dummy failure point at the end of the 2648 { /* Push a dummy failure point at the end of the
2648 alternative for a possible future 2649 alternative for a possible future
2654 to `fixup_alt_jump', in the `handle_alt' case below. */ 2655 to `fixup_alt_jump', in the `handle_alt' case below. */
2655 STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1); 2656 STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
2656 } 2657 }
2657 2658
2658 /* See similar code for backslashed left paren above. */ 2659 /* See similar code for backslashed left paren above. */
2659 if (COMPILE_STACK_EMPTY) 2660 if (COMPILE_STACK_EMPTY) {
2660 if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) 2661 if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
2661 goto normal_char; 2662 goto normal_char;
2662 else 2663 else
2663 FREE_STACK_RETURN (REG_ERPAREN); 2664 FREE_STACK_RETURN (REG_ERPAREN);
2665 }
2664 2666
2665 /* Since we just checked for an empty stack above, this 2667 /* Since we just checked for an empty stack above, this
2666 ``can't happen''. */ 2668 ``can't happen''. */
2667 assert (compile_stack.avail != 0); 2669 assert (compile_stack.avail != 0);
2668 { 2670 {