diff options
author | Andrei Zmievski <andrei@php.net> | 2000-06-12 19:55:58 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2000-06-12 19:55:58 +0000 |
commit | 7ef638aa30a08fa63027402777b5e4f79339b264 (patch) | |
tree | 59781ddba6b283c88e037c2399cfa5b69bac9604 /ext/pcre/pcrelib/ChangeLog | |
parent | 318a59d3020007f4fa9cf1af447062337d171e99 (diff) | |
download | php-git-7ef638aa30a08fa63027402777b5e4f79339b264.tar.gz |
@- Upgraded PCRE to version 3.2 and fixed a bug when anchored pattern
@ matched an empty string. (Andrei)
Diffstat (limited to 'ext/pcre/pcrelib/ChangeLog')
-rw-r--r-- | ext/pcre/pcrelib/ChangeLog | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/pcre/pcrelib/ChangeLog b/ext/pcre/pcrelib/ChangeLog index c594ab50d8..5bedd53bc6 100644 --- a/ext/pcre/pcrelib/ChangeLog +++ b/ext/pcre/pcrelib/ChangeLog @@ -2,6 +2,45 @@ ChangeLog for PCRE ------------------ +Version 3.2 12-May-00 +--------------------- + +This is purely a bug fixing release. + +1. If the pattern /((Z)+|A)*/ was matched agained ZABCDEFG it matched Z instead +of ZA. This was just one example of several cases that could provoke this bug, +which was introduced by change 9 of version 2.00. The code for breaking +infinite loops after an iteration that matches an empty string was't working +correctly. + +2. The pcretest program was not imitating Perl correctly for the pattern /a*/g +when matched against abbab (for example). After matching an empty string, it +wasn't forcing anchoring when setting PCRE_NOTEMPTY for the next attempt; this +caused it to match further down the string than it should. + +3. The code contained an inclusion of sys/types.h. It isn't clear why this +was there because it doesn't seem to be needed, and it causes trouble on some +systems, as it is not a Standard C header. It has been removed. + +4. Made 4 silly changes to the source to avoid stupid compiler warnings that +were reported on the Macintosh. The changes were from + + while ((c = *(++ptr)) != 0 && c != '\n'); +to + while ((c = *(++ptr)) != 0 && c != '\n') ; + +Totally extraordinary, but if that's what it takes... + +5. PCRE is being used in one environment where neither memmove() nor bcopy() is +available. Added HAVE_BCOPY and an autoconf test for it; if neither +HAVE_MEMMOVE nor HAVE_BCOPY is set, use a built-in emulation function which +assumes the way PCRE uses memmove() (always moving upwards). + +6. PCRE is being used in one environment where strchr() is not available. There +was only one use in pcre.c, and writing it out to avoid strchr() probably gives +faster code anyway. + + Version 3.1 09-Feb-00 --------------------- |