diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-11-27 17:41:04 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-11-27 17:41:04 +0000 |
commit | bfc1dfa660c24dc7a75108d934290e50d7db2719 (patch) | |
tree | 72ff6f45409ce123a44eeda297f9c9f5f1efb152 /pcre_compile.c | |
parent | ef6b10fcde41a2687f38d4a9ff2886b037948a1b (diff) | |
download | pcre-bfc1dfa660c24dc7a75108d934290e50d7db2719.tar.gz |
Fix bug for isolated \E between an item and its qualifier when auto callout is
set.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1613 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_compile.c')
-rw-r--r-- | pcre_compile.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pcre_compile.c b/pcre_compile.c index 3670f1e..5786cd3 100644 --- a/pcre_compile.c +++ b/pcre_compile.c @@ -4645,9 +4645,10 @@ for (;; ptr++) goto FAILED; } - /* If in \Q...\E, check for the end; if not, we have a literal */ + /* If in \Q...\E, check for the end; if not, we have a literal. Otherwise an + isolated \E is ignored. */ - if (inescq && c != CHAR_NULL) + if (c != CHAR_NULL) { if (c == CHAR_BACKSLASH && ptr[1] == CHAR_E) { @@ -4655,7 +4656,7 @@ for (;; ptr++) ptr++; continue; } - else + else if (inescq) { if (previous_callout != NULL) { @@ -4670,7 +4671,6 @@ for (;; ptr++) } goto NORMAL_CHAR; } - /* Control does not reach here. */ } /* In extended mode, skip white space and comments. We need a loop in order |