mirror of
https://github.com/php/php-src.git
synced 2024-11-28 12:26:37 +08:00
Update bundled PCRE to 8.12
This commit is contained in:
parent
66ce68e7a4
commit
27fc1b889a
1
NEWS
1
NEWS
@ -2,6 +2,7 @@ PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? 2011, PHP 5.3.7
|
||||
- Upgraded bundled SQLite to version 3.7.6.2. (Scott)
|
||||
- Upgraded bundled PCRE to version 8.12. (Scott)
|
||||
|
||||
- Zend Engine:
|
||||
. Fixed bug #54585 (track_errors causes segfault). (Dmitry)
|
||||
|
@ -1,6 +1,40 @@
|
||||
ChangeLog for PCRE
|
||||
------------------
|
||||
|
||||
Version 8.12 15-Jan-2011
|
||||
------------------------
|
||||
|
||||
1. Fixed some typos in the markup of the man pages, and wrote a script that
|
||||
checks for such things as part of the documentation building process.
|
||||
|
||||
2. On a big-endian 64-bit system, pcregrep did not correctly process the
|
||||
--match-limit and --recursion-limit options (added for 8.11). In
|
||||
particular, this made one of the standard tests fail. (The integer value
|
||||
went into the wrong half of a long int.)
|
||||
|
||||
3. If the --colour option was given to pcregrep with -v (invert match), it
|
||||
did strange things, either producing crazy output, or crashing. It should,
|
||||
of course, ignore a request for colour when reporting lines that do not
|
||||
match.
|
||||
|
||||
4. Another pcregrep bug caused similar problems if --colour was specified with
|
||||
-M (multiline) and the pattern match finished with a line ending.
|
||||
|
||||
5. In pcregrep, when a pattern that ended with a literal newline sequence was
|
||||
matched in multiline mode, the following line was shown as part of the
|
||||
match. This seems wrong, so I have changed it.
|
||||
|
||||
6. Another pcregrep bug in multiline mode, when --colour was specified, caused
|
||||
the check for further matches in the same line (so they could be coloured)
|
||||
to overrun the end of the current line. If another match was found, it was
|
||||
incorrectly shown (and then shown again when found in the next line).
|
||||
|
||||
7. If pcregrep was compiled under Windows, there was a reference to the
|
||||
function pcregrep_exit() before it was defined. I am assuming this was
|
||||
the cause of the "error C2371: 'pcregrep_exit' : redefinition;" that was
|
||||
reported by a user. I've moved the definition above the reference.
|
||||
|
||||
|
||||
Version 8.11 10-Dec-2010
|
||||
------------------------
|
||||
|
||||
|
@ -1,6 +1,13 @@
|
||||
News about PCRE releases
|
||||
------------------------
|
||||
|
||||
Release 8.12 15-Jan-2011
|
||||
------------------------
|
||||
|
||||
This release fixes some bugs in pcregrep, one of which caused the tests to fail
|
||||
on 64-bit big-endian systems. There are no changes to the code of the library.
|
||||
|
||||
|
||||
Release 8.11 10-Dec-2010
|
||||
------------------------
|
||||
|
||||
|
@ -282,7 +282,7 @@ them both to 0; an emulation function will be used. */
|
||||
#define PACKAGE_NAME "PCRE"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "PCRE 8.11"
|
||||
#define PACKAGE_STRING "PCRE 8.12"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "pcre"
|
||||
@ -291,7 +291,7 @@ them both to 0; an emulation function will be used. */
|
||||
#define PACKAGE_URL ""
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "8.11"
|
||||
#define PACKAGE_VERSION "8.12"
|
||||
|
||||
|
||||
/* If you are compiling for a system other than a Unix-like system or
|
||||
@ -347,7 +347,7 @@ them both to 0; an emulation function will be used. */
|
||||
|
||||
/* Version number of package */
|
||||
#ifndef VERSION
|
||||
#define VERSION "8.11"
|
||||
#define VERSION "8.12"
|
||||
#endif
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
|
@ -6512,6 +6512,7 @@ SAVING AND RE-USING PRECOMPILED PCRE PATTERNS
|
||||
|
||||
|
||||
SAVING A COMPILED PATTERN
|
||||
|
||||
The value returned by pcre_compile() points to a single block of memory
|
||||
that holds the compiled pattern and associated data. You can find the
|
||||
length of this block in bytes by calling pcre_fullinfo() with an argu-
|
||||
|
@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
/* The current PCRE version information. */
|
||||
|
||||
#define PCRE_MAJOR 8
|
||||
#define PCRE_MINOR 11
|
||||
#define PCRE_MINOR 12
|
||||
#define PCRE_PRERELEASE
|
||||
#define PCRE_DATE 2010-12-10
|
||||
#define PCRE_DATE 2011-01-15
|
||||
|
||||
/* When an application links to a PCRE DLL in Windows, the symbols that are
|
||||
imported have to be identified as such. When building PCRE, the appropriate
|
||||
|
@ -192,9 +192,7 @@ stdint.h is available, include it; it may define INT64_MAX. Systems that do not
|
||||
have stdint.h (e.g. Solaris) may have inttypes.h. The macro int64_t may be set
|
||||
by "configure". */
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
#include "win32/php_stdint.h"
|
||||
#elif HAVE_STDINT_H
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#elif HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
|
194
ext/pcre/pcrelib/testdata/grepoutput
vendored
194
ext/pcre/pcrelib/testdata/grepoutput
vendored
@ -2,15 +2,19 @@
|
||||
PATTERN at the start of a line.
|
||||
In the middle of a line, PATTERN appears.
|
||||
Check up on PATTERN near the end.
|
||||
RC=0
|
||||
---------------------------- Test 2 ------------------------------
|
||||
PATTERN at the start of a line.
|
||||
RC=0
|
||||
---------------------------- Test 3 ------------------------------
|
||||
7:PATTERN at the start of a line.
|
||||
8:In the middle of a line, PATTERN appears.
|
||||
10:This pattern is in lower case.
|
||||
608:Check up on PATTERN near the end.
|
||||
RC=0
|
||||
---------------------------- Test 4 ------------------------------
|
||||
4
|
||||
RC=0
|
||||
---------------------------- Test 5 ------------------------------
|
||||
./testdata/grepinput:7:PATTERN at the start of a line.
|
||||
./testdata/grepinput:8:In the middle of a line, PATTERN appears.
|
||||
@ -19,6 +23,7 @@ PATTERN at the start of a line.
|
||||
./testdata/grepinputx:3:Here is the pattern again.
|
||||
./testdata/grepinputx:5:Pattern
|
||||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||||
RC=0
|
||||
---------------------------- Test 6 ------------------------------
|
||||
7:PATTERN at the start of a line.
|
||||
8:In the middle of a line, PATTERN appears.
|
||||
@ -27,11 +32,14 @@ PATTERN at the start of a line.
|
||||
3:Here is the pattern again.
|
||||
5:Pattern
|
||||
42:This line contains pattern not on a line by itself.
|
||||
RC=0
|
||||
---------------------------- Test 7 ------------------------------
|
||||
./testdata/grepinput
|
||||
./testdata/grepinputx
|
||||
RC=0
|
||||
---------------------------- Test 8 ------------------------------
|
||||
./testdata/grepinput
|
||||
RC=0
|
||||
---------------------------- Test 9 ------------------------------
|
||||
RC=0
|
||||
---------------------------- Test 10 -----------------------------
|
||||
@ -78,33 +86,43 @@ RC=1
|
||||
40:twenty
|
||||
41:
|
||||
43:This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 12 -----------------------------
|
||||
Pattern
|
||||
RC=0
|
||||
---------------------------- Test 13 -----------------------------
|
||||
Here is the pattern again.
|
||||
That time it was on a line by itself.
|
||||
This line contains pattern not on a line by itself.
|
||||
RC=0
|
||||
---------------------------- Test 14 -----------------------------
|
||||
./testdata/grepinputx:To pat or not to pat, that is the question.
|
||||
RC=0
|
||||
---------------------------- Test 15 -----------------------------
|
||||
pcregrep: Error in command-line regex at offset 4: nothing to repeat
|
||||
RC=2
|
||||
---------------------------- Test 16 -----------------------------
|
||||
pcregrep: Failed to open ./testdata/nonexistfile: No such file or directory
|
||||
RC=2
|
||||
---------------------------- Test 17 -----------------------------
|
||||
features should be added at the end, because some of the tests involve the
|
||||
output of line numbers, and we don't want these to change.
|
||||
RC=0
|
||||
---------------------------- Test 18 -----------------------------
|
||||
4:features should be added at the end, because some of the tests involve the
|
||||
output of line numbers, and we don't want these to change.
|
||||
583:brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||
-------------------------------------------------------------------------------
|
||||
RC=0
|
||||
---------------------------- Test 19 -----------------------------
|
||||
Pattern
|
||||
RC=0
|
||||
---------------------------- Test 20 -----------------------------
|
||||
10:complete pair
|
||||
of lines
|
||||
16:complete pair
|
||||
of lines
|
||||
RC=0
|
||||
---------------------------- Test 21 -----------------------------
|
||||
24:four
|
||||
25-five
|
||||
@ -115,6 +133,7 @@ of lines
|
||||
35-fifteen
|
||||
36-sixteen
|
||||
37-seventeen
|
||||
RC=0
|
||||
---------------------------- Test 22 -----------------------------
|
||||
21-one
|
||||
22-two
|
||||
@ -125,6 +144,7 @@ of lines
|
||||
32-twelve
|
||||
33-thirteen
|
||||
34:fourteen
|
||||
RC=0
|
||||
---------------------------- Test 23 -----------------------------
|
||||
one
|
||||
two
|
||||
@ -141,6 +161,7 @@ fourteen
|
||||
fifteen
|
||||
sixteen
|
||||
seventeen
|
||||
RC=0
|
||||
---------------------------- Test 24 -----------------------------
|
||||
four
|
||||
five
|
||||
@ -162,6 +183,7 @@ twenty
|
||||
|
||||
This line contains pattern not on a line by itself.
|
||||
This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 25 -----------------------------
|
||||
15-
|
||||
16-complete pair
|
||||
@ -183,6 +205,7 @@ This is the last line of this file.
|
||||
32-twelve
|
||||
33-thirteen
|
||||
34:fourteen
|
||||
RC=0
|
||||
---------------------------- Test 26 -----------------------------
|
||||
|
||||
complete pair
|
||||
@ -213,6 +236,7 @@ twenty
|
||||
|
||||
This line contains pattern not on a line by itself.
|
||||
This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 27 -----------------------------
|
||||
four
|
||||
five
|
||||
@ -234,6 +258,7 @@ twenty
|
||||
|
||||
This line contains pattern not on a line by itself.
|
||||
This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 28 -----------------------------
|
||||
14-of lines all by themselves.
|
||||
15-
|
||||
@ -256,6 +281,7 @@ This is the last line of this file.
|
||||
32-twelve
|
||||
33-thirteen
|
||||
34:fourteen
|
||||
RC=0
|
||||
---------------------------- Test 29 -----------------------------
|
||||
of lines all by themselves.
|
||||
|
||||
@ -287,6 +313,7 @@ twenty
|
||||
|
||||
This line contains pattern not on a line by itself.
|
||||
This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 30 -----------------------------
|
||||
./testdata/grepinput-4-features should be added at the end, because some of the tests involve the
|
||||
./testdata/grepinput-5-output of line numbers, and we don't want these to change.
|
||||
@ -311,6 +338,7 @@ This is the last line of this file.
|
||||
./testdata/grepinputx-40-twenty
|
||||
./testdata/grepinputx-41-
|
||||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||||
RC=0
|
||||
---------------------------- Test 31 -----------------------------
|
||||
./testdata/grepinput:7:PATTERN at the start of a line.
|
||||
./testdata/grepinput:8:In the middle of a line, PATTERN appears.
|
||||
@ -332,8 +360,10 @@ This is the last line of this file.
|
||||
--
|
||||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||||
./testdata/grepinputx-43-This is the last line of this file.
|
||||
RC=0
|
||||
---------------------------- Test 32 -----------------------------
|
||||
./testdata/grepinputx
|
||||
RC=0
|
||||
---------------------------- Test 33 -----------------------------
|
||||
pcregrep: Failed to open ./testdata/grepnonexist: No such file or directory
|
||||
RC=2
|
||||
@ -343,6 +373,7 @@ RC=2
|
||||
./testdata/grepinputx
|
||||
RC=0
|
||||
---------------------------- Test 36 -----------------------------
|
||||
./testdata/grepinput3
|
||||
./testdata/grepinput8
|
||||
./testdata/grepinputx
|
||||
RC=0
|
||||
@ -351,99 +382,214 @@ aaaaa0
|
||||
aaaaa2
|
||||
RC=0
|
||||
======== STDERR ========
|
||||
pcregrep: pcre_exec() error -8 while matching this text:
|
||||
pcregrep: pcre_exec() gave error -8 while matching this text:
|
||||
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
pcregrep: error -8 means that a resource limit was exceeded
|
||||
pcregrep: check your regex for nested unlimited loops
|
||||
pcregrep: pcre_exec() error -8 while matching this text:
|
||||
|
||||
pcregrep: pcre_exec() gave error -8 while matching this text:
|
||||
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
pcregrep: Error -8 or -21 means that a resource limit was exceeded.
|
||||
pcregrep: Check your regex for nested unlimited loops.
|
||||
---------------------------- Test 38 ------------------------------
|
||||
This line contains a binary zero here > |