From ae4b0b96d63fe3cbd70008350f998570c9e91f7f Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 1 Feb 2013 01:10:59 -0500 Subject: revert regex "cleanup" that seems unjustified and may break backtracking it's not clear to me at the moment whether the code that was removed (and which is now being re-added) is needed, but it's far from being a no-op, and i don't want to risk breaking regex in this release. --- src/regex/regexec.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/regex') diff --git a/src/regex/regexec.c b/src/regex/regexec.c index 674c5907..855cef57 100644 --- a/src/regex/regexec.c +++ b/src/regex/regexec.c @@ -596,6 +596,7 @@ tre_tnfa_run_backtrack(const tre_tnfa_t *tnfa, const void *string, started from. */ int next_c_start; const char *str_byte_start; + int pos_start = -1; #ifdef TRE_MBSTATE mbstate_t mbstate_start; #endif /* TRE_MBSTATE */ @@ -675,7 +676,9 @@ tre_tnfa_run_backtrack(const tre_tnfa_t *tnfa, const void *string, } state = NULL; + pos = pos_start; GET_NEXT_WCHAR(); + pos_start = pos; next_c_start = next_c; str_byte_start = str_byte; #ifdef TRE_MBSTATE -- cgit v1.2.1