wok annotate pcre/stuff/r661.diff @ rev 11101

dropbear-pam: Clean up.
author Christopher Rogers <slaxemulator@gmail.com>
date Mon Oct 17 02:57:16 2011 +0000 (2011-10-17)
parents
children
rev   line source
slaxemulator@11053 1 --- code/trunk/pcre_compile.c 2011/08/02 11:00:40 654
slaxemulator@11053 2 +++ code/trunk/pcre_compile.c 2011/08/21 09:00:54 661
slaxemulator@11053 3 @@ -2295,8 +2295,13 @@
slaxemulator@11053 4 A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
slaxemulator@11053 5 It seems that the appearance of a nested POSIX class supersedes an apparent
slaxemulator@11053 6 external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
slaxemulator@11053 7 -a digit. Also, unescaped square brackets may also appear as part of class
slaxemulator@11053 8 -names. For example, [:a[:abc]b:] gives unknown class "[:abc]b:]"in Perl.
slaxemulator@11053 9 +a digit.
slaxemulator@11053 10 +
slaxemulator@11053 11 +In Perl, unescaped square brackets may also appear as part of class names. For
slaxemulator@11053 12 +example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
slaxemulator@11053 13 +[:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
slaxemulator@11053 14 +seem right at all. PCRE does not allow closing square brackets in POSIX class
slaxemulator@11053 15 +names.
slaxemulator@11053 16
slaxemulator@11053 17 Arguments:
slaxemulator@11053 18 ptr pointer to the initial [
slaxemulator@11053 19 @@ -2314,6 +2319,7 @@
slaxemulator@11053 20 {
slaxemulator@11053 21 if (*ptr == CHAR_BACKSLASH && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)
slaxemulator@11053 22 ptr++;
slaxemulator@11053 23 + else if (*ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE;
slaxemulator@11053 24 else
slaxemulator@11053 25 {
slaxemulator@11053 26 if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)