From 4d70dae657a6e5a13e60c756d131f93840cfcabe Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 19 Nov 1994 10:37:38 +0000 Subject: [PATCH] (re_compile_fastmap): Really treat `succeed' like end. --- regex.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/regex.c b/regex.c index 0adb68c7c9..4a590509be 100644 --- a/regex.c +++ b/regex.c @@ -2782,16 +2782,22 @@ re_compile_fastmap (bufp) bufp->fastmap_accurate = 1; /* It will be when we're done. */ bufp->can_be_null = 0; - while (p != pend || !FAIL_STACK_EMPTY ()) + while (1) { if (p == pend || *p == succeed) - { - bufp->can_be_null |= path_can_be_null; - - /* Reset for next path. */ - path_can_be_null = true; - - p = fail_stack.stack[--fail_stack.avail]; + { + /* We have reached the (effective) end of pattern. */ + if (!FAIL_STACK_EMPTY ()) + { + bufp->can_be_null |= path_can_be_null; + + /* Reset for next path. */ + path_can_be_null = true; + + p = fail_stack.stack[--fail_stack.avail]; + } + else + break; } /* We should never be about to go beyond the end of the pattern. */ -- 2.30.2