1 |
ChangeLog for PCRE |
ChangeLog for PCRE |
2 |
------------------ |
------------------ |
3 |
|
|
4 |
Version 8.01 11-Dec-09 |
Version 8.01 06-Jan-10 |
5 |
---------------------- |
---------------------- |
6 |
|
|
7 |
1. If a pattern contained a conditional subpattern with only one branch (in |
1. If a pattern contained a conditional subpattern with only one branch (in |
67 |
- The compiler thus generates a "C" signature for the test function. |
- The compiler thus generates a "C" signature for the test function. |
68 |
- The linker fails to find the "C" function. |
- The linker fails to find the "C" function. |
69 |
- PCRE fails to configure if asked to do so against libbz2. |
- PCRE fails to configure if asked to do so against libbz2. |
70 |
|
|
71 |
11. When running libtoolize from libtool-2.2.6b as part of autogen.sh, these |
11. When running libtoolize from libtool-2.2.6b as part of autogen.sh, these |
72 |
messages were output: |
messages were output: |
73 |
|
|
74 |
Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and |
Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and |
75 |
rerunning libtoolize, to keep the correct libtool macros in-tree. |
rerunning libtoolize, to keep the correct libtool macros in-tree. |
76 |
Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. |
Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. |
77 |
|
|
78 |
I have done both of these things. |
I have done both of these things. |
79 |
|
|
80 |
12. Although pcre_dfa_exec() does not use nearly as much stack as pcre_exec() |
12. Although pcre_dfa_exec() does not use nearly as much stack as pcre_exec() |
81 |
most of the time, it *can* run out if it is given a pattern that contains a |
most of the time, it *can* run out if it is given a pattern that contains a |
82 |
runaway infinite recursion. I updated the discussion in the pcrestack man |
runaway infinite recursion. I updated the discussion in the pcrestack man |
83 |
page. |
page. |
84 |
|
|
85 |
13. Now that we have gone to the x.xx style of version numbers, the minor |
13. Now that we have gone to the x.xx style of version numbers, the minor |
86 |
version may start with zero. Using 08 or 09 is a bad idea because users |
version may start with zero. Using 08 or 09 is a bad idea because users |
87 |
might check the value of PCRE_MINOR in their code, and 08 or 09 may be |
might check the value of PCRE_MINOR in their code, and 08 or 09 may be |
88 |
interpreted as invalid octal numbers. I've updated the previous comment in |
interpreted as invalid octal numbers. I've updated the previous comment in |
89 |
configure.ac, and also added a check that gives an error if 08 or 09 are |
configure.ac, and also added a check that gives an error if 08 or 09 are |
90 |
used. |
used. |
91 |
|
|
92 |
14. Change 8.00/11 was not quite complete: code had been accidentally omitted, |
14. Change 8.00/11 was not quite complete: code had been accidentally omitted, |
93 |
causing partial matching to fail when the end of the subject matched \W |
causing partial matching to fail when the end of the subject matched \W |
94 |
in a UTF-8 pattern where \W was quantified with a minimum of 3. |
in a UTF-8 pattern where \W was quantified with a minimum of 3. |
95 |
|
|
96 |
15. There were some discrepancies between the declarations in pcre_internal.h |
15. There were some discrepancies between the declarations in pcre_internal.h |
97 |
of _pcre_is_newline(), _pcre_was_newline(), and _pcre_valid_utf8() and |
of _pcre_is_newline(), _pcre_was_newline(), and _pcre_valid_utf8() and |
98 |
their definitions. The declarations used "const uschar *" and the |
their definitions. The declarations used "const uschar *" and the |
99 |
definitions used USPTR. Even though USPTR is normally defined as "const |
definitions used USPTR. Even though USPTR is normally defined as "const |
100 |
unsigned char *" (and uschar is typedeffed as "unsigned char"), it was |
unsigned char *" (and uschar is typedeffed as "unsigned char"), it was |
101 |
reported that: "This difference in casting confuses some C++ compilers, for |
reported that: "This difference in casting confuses some C++ compilers, for |
102 |
example, SunCC recognizes above declarations as different functions and |
example, SunCC recognizes above declarations as different functions and |
103 |
generates broken code for hbpcre." I have changed the declarations to use |
generates broken code for hbpcre." I have changed the declarations to use |
104 |
USPTR. |
USPTR. |
105 |
|
|
106 |
16. GNU libtool is named differently on some systems. The autogen.sh script now |
16. GNU libtool is named differently on some systems. The autogen.sh script now |
107 |
tries several variants such as glibtoolize (MacOSX) and libtoolize1x |
tries several variants such as glibtoolize (MacOSX) and libtoolize1x |
108 |
(FreeBSD). |
(FreeBSD). |
109 |
|
|
110 |
|
17. Applied Craig's patch that fixes an HP aCC compile error in pcre 8.00 |
111 |
|
(strtoXX undefined when compiling pcrecpp.cc). The patch contains this |
112 |
|
comment: "Figure out how to create a longlong from a string: strtoll and |
113 |
|
equivalent. It's not enough to call AC_CHECK_FUNCS: hpux has a strtoll, for |
114 |
|
instance, but it only takes 2 args instead of 3!" |
115 |
|
|
116 |
|
|
117 |
Version 8.00 19-Oct-09 |
Version 8.00 19-Oct-09 |