summaryrefslogtreecommitdiffstats
path: root/pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch')
-rw-r--r--pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch193
1 files changed, 0 insertions, 193 deletions
diff --git a/pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch b/pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch
deleted file mode 100644
index 4a2c3dc..0000000
--- a/pcre-8.38-Fix-x-bug-when-pattern-starts-with-white-space-and-x.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From 46ed1a703b067e5b679eacf6500a54dae35f8130 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Thu, 3 Dec 2015 17:05:40 +0000
-Subject: [PATCH] Fix /x bug when pattern starts with white space and (?-x)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1617 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index beed46b..57719b9 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7607,39 +7607,15 @@ for (;; ptr++)
- newoptions = (options | set) & (~unset);
-
- /* If the options ended with ')' this is not the start of a nested
-- group with option changes, so the options change at this level. If this
-- item is right at the start of the pattern, the options can be
-- abstracted and made external in the pre-compile phase, and ignored in
-- the compile phase. This can be helpful when matching -- for instance in
-- caseless checking of required bytes.
--
-- If the code pointer is not (cd->start_code + 1 + LINK_SIZE), we are
-- definitely *not* at the start of the pattern because something has been
-- compiled. In the pre-compile phase, however, the code pointer can have
-- that value after the start, because it gets reset as code is discarded
-- during the pre-compile. However, this can happen only at top level - if
-- we are within parentheses, the starting BRA will still be present. At
-- any parenthesis level, the length value can be used to test if anything
-- has been compiled at that level. Thus, a test for both these conditions
-- is necessary to ensure we correctly detect the start of the pattern in
-- both phases.
--
-+ group with option changes, so the options change at this level.
- If we are not at the pattern start, reset the greedy defaults and the
- case value for firstchar and reqchar. */
-
- if (*ptr == CHAR_RIGHT_PARENTHESIS)
- {
-- if (code == cd->start_code + 1 + LINK_SIZE &&
-- (lengthptr == NULL || *lengthptr == 2 + 2*LINK_SIZE))
-- {
-- cd->external_options = newoptions;
-- }
-- else
-- {
-- greedy_default = ((newoptions & PCRE_UNGREEDY) != 0);
-- greedy_non_default = greedy_default ^ 1;
-- req_caseopt = ((newoptions & PCRE_CASELESS) != 0)? REQ_CASELESS:0;
-- }
-+ greedy_default = ((newoptions & PCRE_UNGREEDY) != 0);
-+ greedy_non_default = greedy_default ^ 1;
-+ req_caseopt = ((newoptions & PCRE_CASELESS) != 0)? REQ_CASELESS:0;
-
- /* Change options at this level, and pass them back for use
- in subsequent branches. */
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index ac33cc4..6c42897 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -419,7 +419,7 @@ Need char = '>'
-
- /(?U)<.*>/I
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = '<'
- Need char = '>'
- abc<def>ghi<klm>nop
-@@ -443,7 +443,7 @@ Need char = '='
-
- /(?U)={3,}?/I
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = '='
- Need char = '='
- abc========def
-@@ -477,7 +477,7 @@ Failed: lookbehind assertion is not fixed length at offset 12
-
- /(?i)abc/I
- Capturing subpattern count = 0
--Options: caseless
-+No options
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-
-@@ -489,7 +489,7 @@ No need char
-
- /(?i)^1234/I
- Capturing subpattern count = 0
--Options: anchored caseless
-+Options: anchored
- No first char
- No need char
-
-@@ -502,7 +502,7 @@ No need char
- /(?s).*/I
- Capturing subpattern count = 0
- May match empty string
--Options: anchored dotall
-+Options: anchored
- No first char
- No need char
-
-@@ -516,7 +516,7 @@ Starting chars: a b c d
-
- /(?i)[abcd]/IS
- Capturing subpattern count = 0
--Options: caseless
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -524,7 +524,7 @@ Starting chars: A B C D a b c d
-
- /(?m)[xy]|(b|c)/IS
- Capturing subpattern count = 1
--Options: multiline
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -538,7 +538,7 @@ No need char
-
- /(?i)(^a|^b)/Im
- Capturing subpattern count = 1
--Options: caseless multiline
-+Options: multiline
- First char at start or follows newline
- No need char
-
-@@ -1179,7 +1179,7 @@ No need char
- End
- ------------------------------------------------------------------
- Capturing subpattern count = 1
--Options: anchored dotall
-+Options: anchored
- No first char
- No need char
-
-@@ -2735,7 +2735,7 @@ No match
- End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: caseless extended
-+Options: extended
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-
-@@ -2748,7 +2748,7 @@ Need char = 'c' (caseless)
- End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: caseless extended
-+Options: extended
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-
-@@ -3095,7 +3095,7 @@ Need char = 'b'
- End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = 'x'
- Need char = 'b'
- xaaaab
-@@ -3497,7 +3497,7 @@ Need char = 'c'
-
- /(?i)[ab]/IS
- Capturing subpattern count = 0
--Options: caseless
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -6299,7 +6299,7 @@ Capturing subpattern count = 3
- Named capturing subpatterns:
- A 2
- A 3
--Options: anchored dupnames
-+Options: anchored
- Duplicate name status changes
- No first char
- No need char
---
-2.4.3
-