/[pcre]/code/trunk/ChangeLog
ViewVC logotype

Diff of /code/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 200 by ph10, Wed Aug 1 09:10:40 2007 UTC revision 207 by ph10, Mon Aug 6 09:32:14 2007 UTC
# Line 29  Version 7.3 05-Jul-07 Line 29  Version 7.3 05-Jul-07
29   4. Debugging: adjusted the names of opcodes for different kinds of parentheses   4. Debugging: adjusted the names of opcodes for different kinds of parentheses
30      in debug output.      in debug output.
31    
32   5. Arrange to use "%I64d" instead of "%lld" for long printing in the pcrecpp   5. Arrange to use "%I64d" instead of "%lld" and "%I64u" instead of "%llu" for
33      unittest when running under MinGW.      long printing in the pcrecpp unittest when running under MinGW.
34    
35   6. ESC_K was left out of the EBCDIC table.   6. ESC_K was left out of the EBCDIC table.
36    
# Line 53  Version 7.3 05-Jul-07 Line 53  Version 7.3 05-Jul-07
53      pcreposix and pcrecpp parts of the library. These were overlooked when this      pcreposix and pcrecpp parts of the library. These were overlooked when this
54      problem was solved for the main library.      problem was solved for the main library.
55    
56     9. There were some crude static tests to avoid integer overflow when computing
57        the size of patterns that contain repeated groups with explicit upper
58        limits. As the maximum quantifier is 65535, the maximum group length was
59        set at 30,000 so that the product of these two numbers did not overflow a
60        32-bit integer. However, it turns out that people want to use groups that
61        are longer than 30,000 bytes (though not repeat them that many times).
62        Change 7.0/17 (the refactoring of the way the pattern size is computed) has
63        made it possible to implement the integer overflow checks in a much more
64        dynamic way, which I have now done. The artificial limitation on group
65        length has been removed - we now have only the limit on the total length of
66        the compiled pattern, which depends on the LINK_SIZE setting.
67    
68    10. Fixed a bug in the documentation for get/copy named substring when
69        duplicate names are permitted. If none of the named substrings are set, the
70        functions return PCRE_ERROR_NOSUBSTRING (7); the doc said they returned an
71        empty string.
72    
73    11. Because Perl interprets \Q...\E at a high level, and ignores orphan \E
74        instances, patterns such as [\Q\E] or [\E] or even [^\E] cause an error,
75        because the ] is interpreted as the first data character and the
76        terminating ] is not found. PCRE has been made compatible with Perl in this
77        regard. Previously, it interpreted [\Q\E] as an empty class, and [\E] could
78        cause memory overwriting.
79    
80    10. Like Perl, PCRE automatically breaks an unlimited repeat after an empty
81        string has been matched (to stop an infinite loop). It was not recognizing
82        a conditional subpattern that could match an empty string if that
83        subpattern was within another subpattern. For example, it looped when
84        trying to match  (((?(1)X|))*)  but it was OK with  ((?(1)X|)*)  where the
85        condition was not nested. This bug has been fixed.
86    
87    12. A pattern like \X?\d or \P{L}?\d in non-UTF-8 mode could cause a backtrack
88        past the start of the subject in the presence of bytes with the top bit
89        set, for example "\x8aBCD".
90    
91    
92  Version 7.2 19-Jun-07  Version 7.2 19-Jun-07
93  ---------------------  ---------------------

Legend:
Removed from v.200  
changed lines
  Added in v.207

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12