------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1009
           Summary: "\s" at the end of a character class removes vertical-
                    tab
           Product: PCRE
           Version: 7.8
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Code
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


If you create a character class that matches anything (e.g. [\x00-\xff]) and
append \s to it (yielding [\x00-\xff\s], the code to handle \s in
pcre_compile.c removes the vertical-tab character from the class. Prepending \s
to the class does not change the class at all.

I originally noticed this with PCRE 7.8, but PCRE 8.10 behaves the same way.

Some pcretest output showing this:

$ ./pcretest -d
PCRE version 8.10 2010-06-25

  re> /[\x00-\xff\s]/
------------------------------------------------------------------
  0  36 Bra
  3     [\x00-\x0a\x0c-\xff]
 36  36 Ket
 39     End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
data> 
  re> /[\s\x00-\xff]/
------------------------------------------------------------------
  0  36 Bra
  3     [\x00-\xff]
 36  36 Ket
 39     End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at http://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to