From cb85e500db960f1f9fc122d4dc7bf8a73641a0df Mon Sep 17 00:00:00 2001 From: ph10 Date: Mon, 26 Aug 2019 16:28:26 +0000 Subject: Fix bug introduced in commit 1133. Lookbehinds that follow a condition were not always properly handled. git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1160 6239d852-aaf2-0410-a92c-79f79f948069 --- testdata/testinput1 | 3 ++ testdata/testinput2 | 10 ++++++ testdata/testoutput1 | 6 ++++ testdata/testoutput2 | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+) (limited to 'testdata') diff --git a/testdata/testinput1 b/testdata/testinput1 index 5d60cd9..f5159d6 100644 --- a/testdata/testinput1 +++ b/testdata/testinput1 @@ -6383,4 +6383,7 @@ ef) x/x,mark /(?<=(?=(?<=a)))b/ ab +/^(?a)(?()b)((?<=b).*)$/ + abc + # End of testinput1 diff --git a/testdata/testinput2 b/testdata/testinput2 index 7b44fb0..178d5eb 100644 --- a/testdata/testinput2 +++ b/testdata/testinput2 @@ -5748,4 +5748,14 @@ a)"xI /\A\s*((?:[^`]{28500}){4}|a)/I a +/(?a)(?()b)((?<=b).*)/B + +/(?(1)b)((?<=b).*)/B + +/(?(R1)b)((?<=b).*)/B + +/(?(DEFINE)b)((?<=b).*)/B + +/(?(VERSION=10.4)b)((?<=b).*)/B + # End of testinput2 diff --git a/testdata/testoutput1 b/testdata/testoutput1 index 787c7e7..ad2175b 100644 --- a/testdata/testoutput1 +++ b/testdata/testoutput1 @@ -10106,4 +10106,10 @@ No match ab 0: b +/^(?a)(?()b)((?<=b).*)$/ + abc + 0: abc + 1: a + 2: c + # End of testinput1 diff --git a/testdata/testoutput2 b/testdata/testoutput2 index 0803d9e..2c69e54 100644 --- a/testdata/testoutput2 +++ b/testdata/testoutput2 @@ -17294,6 +17294,99 @@ Subject length lower bound = 1 0: a 1: a +/(?a)(?()b)((?<=b).*)/B +------------------------------------------------------------------ + Bra + CBra 1 + a + Ket + Cond + 1 Cond ref + b + Ket + CBra 2 + Assert back + Reverse + b + Ket + Any*+ + Ket + Ket + End +------------------------------------------------------------------ + +/(?(1)b)((?<=b).*)/B +------------------------------------------------------------------ + Bra + Cond + 1 Cond ref + b + Ket + CBra 1 + Assert back + Reverse + b + Ket + Any*+ + Ket + Ket + End +------------------------------------------------------------------ + +/(?(R1)b)((?<=b).*)/B +------------------------------------------------------------------ + Bra + Cond + Cond recurse 1 + b + Ket + CBra 1 + Assert back + Reverse + b + Ket + Any*+ + Ket + Ket + End +------------------------------------------------------------------ + +/(?(DEFINE)b)((?<=b).*)/B +------------------------------------------------------------------ + Bra + Cond + Cond false + b + Ket + CBra 1 + Assert back + Reverse + b + Ket + Any*+ + Ket + Ket + End +------------------------------------------------------------------ + +/(?(VERSION=10.4)b)((?<=b).*)/B +------------------------------------------------------------------ + Bra + Cond + Cond false + b + Ket + CBra 1 + Assert back + Reverse + b + Ket + Any*+ + Ket + Ket + End +------------------------------------------------------------------ + # End of testinput2 Error -70: PCRE2_ERROR_BADDATA (unknown error number) Error -62: bad serialized data -- cgit v1.2.1