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

Diff of /code/trunk/ChangeLog

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

revision 65 by nigel, Sat Feb 24 21:40:08 2007 UTC revision 69 by nigel, Sat Feb 24 21:40:18 2007 UTC
# Line 1  Line 1 
1  ChangeLog for PCRE  ChangeLog for PCRE
2  ------------------  ------------------
3    
4    Version 4.3 21-May-03
5    ---------------------
6    
7    1. Two instances of @WIN_PREFIX@ omitted from the Windows targets in the
8       Makefile.
9    
10    2. Some refactoring to improve the quality of the code:
11    
12       (i)   The utf8_table... variables are now declared "const".
13    
14       (ii)  The code for \cx, which used the "case flipping" table to upper case
15             lower case letters, now just substracts 32. This is ASCII-specific,
16             but the whole concept of \cx is ASCII-specific, so it seems
17             reasonable.
18    
19       (iii) PCRE was using its character types table to recognize decimal and
20             hexadecimal digits in the pattern. This is silly, because it handles
21             only 0-9, a-f, and A-F, but the character types table is locale-
22             specific, which means strange things might happen. A private
23             table is now used for this - though it costs 256 bytes, a table is
24             much faster than multiple explicit tests. Of course, the standard
25             character types table is still used for matching digits in subject
26             strings against \d.
27    
28       (iv)  Strictly, the identifier ESC_t is reserved by POSIX (all identifiers
29             ending in _t are). So I've renamed it as ESC_tee.
30    
31    3. The first argument for regexec() in the POSIX wrapper should have been
32       defined as "const".
33    
34    4. Changed pcretest to use malloc() for its buffers so that they can be
35       Electric Fenced for debugging.
36    
37    5. There were several places in the code where, in UTF-8 mode, PCRE would try
38       to read one or more bytes before the start of the subject string. Often this
39       had no effect on PCRE's behaviour, but in some circumstances it could
40       provoke a segmentation fault.
41    
42    6. A lookbehind at the start of a pattern in UTF-8 mode could also cause PCRE
43       to try to read one or more bytes before the start of the subject string.
44    
45    7. A lookbehind in a pattern matched in non-UTF-8 mode on a PCRE compiled with
46       UTF-8 support could misbehave in various ways if the subject string
47       contained bytes with the 0x80 bit set and the 0x40 bit unset in a lookbehind
48       area. (PCRE was not checking for the UTF-8 mode flag, and trying to move
49       back over UTF-8 characters.)
50    
51    
52    Version 4.2 14-Apr-03
53    ---------------------
54    
55    1. Typo "#if SUPPORT_UTF8" instead of "#ifdef SUPPORT_UTF8" fixed.
56    
57    2. Changes to the building process, supplied by Ronald Landheer-Cieslak
58         [ON_WINDOWS]: new variable, "#" on non-Windows platforms
59         [NOT_ON_WINDOWS]: new variable, "#" on Windows platforms
60         [WIN_PREFIX]: new variable, "cyg" for Cygwin
61         * Makefile.in: use autoconf substitution for OBJEXT, EXEEXT, BUILD_OBJEXT
62           and BUILD_EXEEXT
63         Note: automatic setting of the BUILD variables is not yet working
64         set CPPFLAGS and BUILD_CPPFLAGS (but don't use yet) - should be used at
65           compile-time but not at link-time
66         [LINK]: use for linking executables only
67         make different versions for Windows and non-Windows
68         [LINKLIB]: new variable, copy of UNIX-style LINK, used for linking
69           libraries
70         [LINK_FOR_BUILD]: new variable
71         [OBJEXT]: use throughout
72         [EXEEXT]: use throughout
73         <winshared>: new target
74         <wininstall>: new target
75         <dftables.o>: use native compiler
76         <dftables>: use native linker
77         <install>: handle Windows platform correctly
78         <clean>: ditto
79         <check>: ditto
80         copy DLL to top builddir before testing
81    
82       As part of these changes, -no-undefined was removed again. This was reported
83       to give trouble on HP-UX 11.0, so getting rid of it seems like a good idea
84       in any case.
85    
86    3. Some tidies to get rid of compiler warnings:
87    
88       . In the match_data structure, match_limit was an unsigned long int, whereas
89         match_call_count was an int. I've made them both unsigned long ints.
90    
91       . In pcretest the fact that a const uschar * doesn't automatically cast to
92         a void * provoked a warning.
93    
94       . Turning on some more compiler warnings threw up some "shadow" variables
95         and a few more missing casts.
96    
97    4. If PCRE was complied with UTF-8 support, but called without the PCRE_UTF8
98       option, a class that contained a single character with a value between 128
99       and 255 (e.g. /[\xFF]/) caused PCRE to crash.
100    
101    5. If PCRE was compiled with UTF-8 support, but called without the PCRE_UTF8
102       option, a class that contained several characters, but with at least one
103       whose value was between 128 and 255 caused PCRE to crash.
104    
105    
106  Version 4.1 12-Mar-03  Version 4.1 12-Mar-03
107  ---------------------  ---------------------
108    

Legend:
Removed from v.65  
changed lines
  Added in v.69

  ViewVC Help
Powered by ViewVC 1.1.5