diff --git a/pcre-8.20-lookbehind.patch b/pcre-8.20-lookbehind.patch new file mode 100644 index 0000000..a317892 --- /dev/null +++ b/pcre-8.20-lookbehind.patch @@ -0,0 +1,84 @@ +From ad81574f3cd7aef3e7d9106d6fa86901556b1731 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 15 Nov 2011 16:34:01 +0100 +Subject: [PATCH] Caseless matching of backreferences with fixed length + repetitions was broken. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From development SVN tree: + +r746 | ph10 | 2011-11-15 16:07:02 +0100 (Út, 15 lis 2011) | 2 lines + +6. Lookbehinds such as (?<=a{2}b) that contained a fixed repetition were + erroneously being rejected as "not fixed length" if PCRE_CASELESS was set. + This bug was probably introduced by change 9 of 8.13. + +Petr Pisar: Changelog entry removed. +See . +--- + pcre_compile.c | 1 + + testdata/testinput1 | 10 ++++++++++ + testdata/testoutput1 | 16 ++++++++++++++++ + 3 files changed, 27 insertions(+), 0 deletions(-) + +diff --git a/pcre_compile.c b/pcre_compile.c +index 3fc7c82..588e981 100644 +--- a/pcre_compile.c ++++ b/pcre_compile.c +@@ -1595,6 +1595,7 @@ for (;;) + need to skip over a multibyte character in UTF8 mode. */ + + case OP_EXACT: ++ case OP_EXACTI: + branchlength += GET2(cc,1); + cc += 4; + #ifdef SUPPORT_UTF8 +diff --git a/testdata/testinput1 b/testdata/testinput1 +index c913ee4..aa9ce42 100644 +--- a/testdata/testinput1 ++++ b/testdata/testinput1 +@@ -4251,4 +4251,14 @@ + /[:a]xxx[b:]/ + :xxx: + ++/(?<=a{2})b/i ++ xaabc ++ ** Failers ++ xabc ++ ++/(?"${F}.utf8" @@ -121,6 +124,9 @@ make check %{_mandir}/man1/pcretest.* %changelog +* Tue Nov 15 2011 Petr Pisar - 8.20-3 +- Fix look-behind regression in 8.20 + * Tue Nov 15 2011 Dan Horák - 8.20-2 - fix build on s390(x) - disable jit and use larger stack for tests