| 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 |