1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

Add patch for upstream bug #1136 (upstream SVN changeset 661)

http://bugs.exim.org/show_bug.cgi?id=1136

PR:		ports/159989
Reported by:	Volodymyr Kostyrko <c.kworr@gmail.com>
This commit is contained in:
Martin Matuska 2011-08-22 10:02:55 +00:00
parent 804f747610
commit 55bb3b31b8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=280173
2 changed files with 30 additions and 0 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= pcre
PORTVERSION= 8.13
PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/programming/%SUBDIR%/ \
ftp://ftp.fu-berlin.de/unix/misc/%SUBDIR%/ \

View File

@ -0,0 +1,29 @@
Index: pcre_compile.c
===================================================================
--- pcre_compile.c (revision 660)
+++ pcre_compile.c (revision 661)
@@ -2295,9 +2295,14 @@
A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
It seems that the appearance of a nested POSIX class supersedes an apparent
external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
-a digit. Also, unescaped square brackets may also appear as part of class
-names. For example, [:a[:abc]b:] gives unknown class "[:abc]b:]"in Perl.
+a digit.
+In Perl, unescaped square brackets may also appear as part of class names. For
+example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
+[:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
+seem right at all. PCRE does not allow closing square brackets in POSIX class
+names.
+
Arguments:
ptr pointer to the initial [
endptr where to return the end pointer
@@ -2314,6 +2319,7 @@
{
if (*ptr == CHAR_BACKSLASH && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)
ptr++;
+ else if (*ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE;
else
{
if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)