mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-08-14 02:27:03 -07:00
Updated msys2
This commit is contained in:
parent
6a85995508
commit
f0dc1ea8b0
13308 changed files with 689276 additions and 46605 deletions
|
@ -8,7 +8,7 @@ Email domain: cam.ac.uk
|
|||
University of Cambridge Computing Service,
|
||||
Cambridge, England.
|
||||
|
||||
Copyright (c) 1997-2017 University of Cambridge
|
||||
Copyright (c) 1997-2019 University of Cambridge
|
||||
All rights reserved
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ Written by: Zoltan Herczeg
|
|||
Email local part: hzmester
|
||||
Emain domain: freemail.hu
|
||||
|
||||
Copyright(c) 2010-2017 Zoltan Herczeg
|
||||
Copyright(c) 2010-2019 Zoltan Herczeg
|
||||
All rights reserved.
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
|
|||
Email local part: hzmester
|
||||
Emain domain: freemail.hu
|
||||
|
||||
Copyright(c) 2009-2017 Zoltan Herczeg
|
||||
Copyright(c) 2009-2019 Zoltan Herczeg
|
||||
All rights reserved.
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,149 @@ ChangeLog for PCRE
|
|||
Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All
|
||||
development is happening in the PCRE2 10.xx series.
|
||||
|
||||
|
||||
Version 8.43 23-February-2019
|
||||
-----------------------------
|
||||
|
||||
1. Some time ago the config macro SUPPORT_UTF8 was changed to SUPPORT_UTF
|
||||
because it also applies to UTF-16 and UTF-32. However, this change was not made
|
||||
in the pcre2cpp files; consequently the C++ wrapper has from then been compiled
|
||||
with a bug in it, which would have been picked up by the unit test except that
|
||||
it also had its UTF8 code cut out. The bug was in a global replace when moving
|
||||
forward after matching an empty string.
|
||||
|
||||
2. The C++ wrapper got broken a long time ago (version 7.3, August 2007) when
|
||||
(*CR) was invented (assuming it was the first such start-of-pattern option).
|
||||
The wrapper could never handle such patterns because it wraps patterns in
|
||||
(?:...)\z in order to support end anchoring. I have hacked in some code to fix
|
||||
this, that is, move the wrapping till after any existing start-of-pattern
|
||||
special settings.
|
||||
|
||||
3. "pcre2grep" (sic) was accidentally mentioned in an error message (fix was
|
||||
ported from PCRE2).
|
||||
|
||||
4. Typo LCC_ALL for LC_ALL fixed in pcregrep.
|
||||
|
||||
5. In a pattern such as /[^\x{100}-\x{ffff}]*[\x80-\xff]/ which has a repeated
|
||||
negative class with no characters less than 0x100 followed by a positive class
|
||||
with only characters less than 0x100, the first class was incorrectly being
|
||||
auto-possessified, causing incorrect match failures.
|
||||
|
||||
6. If the only branch in a conditional subpattern was anchored, the whole
|
||||
subpattern was treated as anchored, when it should not have been, since the
|
||||
assumed empty second branch cannot be anchored. Demonstrated by test patterns
|
||||
such as /(?(1)^())b/ or /(?(?=^))b/.
|
||||
|
||||
7. Fix subject buffer overread in JIT when UTF is disabled and \X or \R has
|
||||
a greater than 1 fixed quantifier. This issue was found by Yunho Kim.
|
||||
|
||||
8. If a pattern started with a subroutine call that had a quantifier with a
|
||||
minimum of zero, an incorrect "match must start with this character" could be
|
||||
recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
|
||||
be the first character of a match.
|
||||
|
||||
9. Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.
|
||||
|
||||
|
||||
Version 8.42 20-March-2018
|
||||
--------------------------
|
||||
|
||||
1. Fixed a MIPS issue in the JIT compiler reported by Joshua Kinard.
|
||||
|
||||
2. Fixed outdated real_pcre definitions in pcre.h.in (patch by Evgeny Kotkov).
|
||||
|
||||
3. pcregrep was truncating components of file names to 128 characters when
|
||||
processing files with the -r option, and also (some very odd code) truncating
|
||||
path names to 512 characters. There is now a check on the absolute length of
|
||||
full path file names, which may be up to 2047 characters long.
|
||||
|
||||
4. Using pcre_dfa_exec(), in UTF mode when UCP support was not defined, there
|
||||
was the possibility of a false positive match when caselessly matching a "not
|
||||
this character" item such as [^\x{1234}] (with a code point greater than 127)
|
||||
because the "other case" variable was not being initialized.
|
||||
|
||||
5. Although pcre_jit_exec checks whether the pattern is compiled
|
||||
in a given mode, it was also expected that at least one mode is available.
|
||||
This is fixed and pcre_jit_exec returns with PCRE_ERROR_JIT_BADOPTION
|
||||
when the pattern is not optimized by JIT at all.
|
||||
|
||||
6. The line number and related variables such as match counts in pcregrep
|
||||
were all int variables, causing overflow when files with more than 2147483647
|
||||
lines were processed (assuming 32-bit ints). They have all been changed to
|
||||
unsigned long ints.
|
||||
|
||||
7. If a backreference with a minimum repeat count of zero was first in a
|
||||
pattern, apart from assertions, an incorrect first matching character could be
|
||||
recorded. For example, for the pattern /(?=(a))\1?b/, "b" was incorrectly set
|
||||
as the first character of a match.
|
||||
|
||||
8. Fix out-of-bounds read for partial matching of /./ against an empty string
|
||||
when the newline type is CRLF.
|
||||
|
||||
9. When matching using the the REG_STARTEND feature of the POSIX API with a
|
||||
non-zero starting offset, unset capturing groups with lower numbers than a
|
||||
group that did capture something were not being correctly returned as "unset"
|
||||
(that is, with offset values of -1).
|
||||
|
||||
10. Matching the pattern /(*UTF)\C[^\v]+\x80/ against an 8-bit string
|
||||
containing multi-code-unit characters caused bad behaviour and possibly a
|
||||
crash. This issue was fixed for other kinds of repeat in release 8.37 by change
|
||||
38, but repeating character classes were overlooked.
|
||||
|
||||
11. A small fix to pcregrep to avoid compiler warnings for -Wformat-overflow=2.
|
||||
|
||||
12. Added --enable-jit=auto support to configure.ac.
|
||||
|
||||
13. Fix misleading error message in configure.ac.
|
||||
|
||||
|
||||
Version 8.41 05-July-2017
|
||||
-------------------------
|
||||
|
||||
1. Fixed typo in CMakeLists.txt (wrong number of arguments for
|
||||
PCRE_STATIC_RUNTIME (affects MSVC only).
|
||||
|
||||
2. Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
|
||||
mode with --only-matching matched several lines, it restarted scanning at the
|
||||
next line instead of moving on to the end of the matched string, which can be
|
||||
several lines after the start.
|
||||
|
||||
3. Fix a missing else in the JIT compiler reported by 'idaifish'.
|
||||
|
||||
4. A (?# style comment is now ignored between a basic quantifier and a
|
||||
following '+' or '?' (example: /X+(?#comment)?Y/.
|
||||
|
||||
5. Avoid use of a potentially overflowing buffer in pcregrep (patch by Petr
|
||||
Pisar).
|
||||
|
||||
6. Fuzzers have reported issues in pcretest. These are NOT serious (it is,
|
||||
after all, just a test program). However, to stop the reports, some easy ones
|
||||
are fixed:
|
||||
|
||||
(a) Check for values < 256 when calling isprint() in pcretest.
|
||||
(b) Give an error for too big a number after \O.
|
||||
|
||||
7. In the 32-bit library in non-UTF mode, an attempt to find a Unicode
|
||||
property for a character with a code point greater than 0x10ffff (the Unicode
|
||||
maximum) caused a crash.
|
||||
|
||||
8. The alternative matching function, pcre_dfa_exec() misbehaved if it
|
||||
encountered a character class with a possessive repeat, for example [a-f]{3}+.
|
||||
|
||||
9. When pcretest called pcre_copy_substring() in 32-bit mode, it set the buffer
|
||||
length incorrectly, which could result in buffer overflow.
|
||||
|
||||
10. Remove redundant line of code (accidentally left in ages ago).
|
||||
|
||||
11. Applied C++ patch from Irfan Adilovic to guard 'using std::' directives
|
||||
with namespace pcrecpp (Bugzilla #2084).
|
||||
|
||||
12. Remove a duplication typo in pcre_tables.c.
|
||||
|
||||
13. Fix returned offsets from regexec() when REG_STARTEND is used with a
|
||||
starting offset greater than zero.
|
||||
|
||||
|
||||
Version 8.40 11-January-2017
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Email domain: cam.ac.uk
|
|||
University of Cambridge Computing Service,
|
||||
Cambridge, England.
|
||||
|
||||
Copyright (c) 1997-2017 University of Cambridge
|
||||
Copyright (c) 1997-2019 University of Cambridge
|
||||
All rights reserved.
|
||||
|
||||
|
||||
|
@ -34,9 +34,9 @@ PCRE JUST-IN-TIME COMPILATION SUPPORT
|
|||
|
||||
Written by: Zoltan Herczeg
|
||||
Email local part: hzmester
|
||||
Emain domain: freemail.hu
|
||||
Email domain: freemail.hu
|
||||
|
||||
Copyright(c) 2010-2017 Zoltan Herczeg
|
||||
Copyright(c) 2010-2019 Zoltan Herczeg
|
||||
All rights reserved.
|
||||
|
||||
|
||||
|
@ -45,9 +45,9 @@ STACK-LESS JUST-IN-TIME COMPILER
|
|||
|
||||
Written by: Zoltan Herczeg
|
||||
Email local part: hzmester
|
||||
Emain domain: freemail.hu
|
||||
Email domain: freemail.hu
|
||||
|
||||
Copyright(c) 2009-2017 Zoltan Herczeg
|
||||
Copyright(c) 2009-2019 Zoltan Herczeg
|
||||
All rights reserved.
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,28 @@
|
|||
News about PCRE releases
|
||||
------------------------
|
||||
|
||||
Note that this library (now called PCRE1) is now being maintained for bug fixes
|
||||
only. New projects are advised to use the new PCRE2 libraries.
|
||||
|
||||
|
||||
Release 8.43 23-February-2019
|
||||
-----------------------------
|
||||
|
||||
This is a bug-fix release.
|
||||
|
||||
|
||||
Release 8.42 20-March-2018
|
||||
--------------------------
|
||||
|
||||
This is a bug-fix release.
|
||||
|
||||
|
||||
Release 8.41 13-June-2017
|
||||
-------------------------
|
||||
|
||||
This is a bug-fix release.
|
||||
|
||||
|
||||
Release 8.40 11-January-2017
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -760,13 +760,14 @@ The character code used is EBCDIC, not ASCII or Unicode. In z/OS, UNIX APIs and
|
|||
applications can be supported through UNIX System Services, and in such an
|
||||
environment PCRE can be built in the same way as in other systems. However, in
|
||||
native z/OS (without UNIX System Services) and in z/VM, special ports are
|
||||
required. For details, please see this web site:
|
||||
required. PCRE1 version 8.39 is available in file 882 on this site:
|
||||
|
||||
http://www.zaconsultants.net
|
||||
http://www.cbttape.org
|
||||
|
||||
You may download PCRE from WWW.CBTTAPE.ORG, file 882. Everything, source and
|
||||
executable, is in EBCDIC and native z/OS file formats and this is the
|
||||
recommended download site.
|
||||
Everything, source and executable, is in EBCDIC and native z/OS file formats.
|
||||
However, this software is not maintained and will not be upgraded. If you are
|
||||
new to PCRE you should be looking at PCRE2 (version 10.30 or later).
|
||||
|
||||
==========================
|
||||
Last Updated: 25 June 2015
|
||||
===============================
|
||||
Last Updated: 13 September 2017
|
||||
===============================
|
||||
|
|
|
@ -79,9 +79,12 @@ API that is JIT-specific.
|
|||
</P>
|
||||
<P>
|
||||
If your program may sometimes be linked with versions of PCRE that are older
|
||||
than 8.20, but you want to use JIT when it is available, you can test
|
||||
the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such
|
||||
as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||
than 8.20, but you want to use JIT when it is available, you can test the
|
||||
values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such as
|
||||
PCRE_CONFIG_JIT, for compile-time control of your code. Also beware that the
|
||||
<b>pcre_jit_exec()</b> function was not available at all before 8.32,
|
||||
and may not be available at all if PCRE isn't compiled with
|
||||
--enable-jit. See the "JIT FAST PATH API" section below for details.
|
||||
</P>
|
||||
<br><a name="SEC4" href="#TOC1">SIMPLE USE OF JIT</a><br>
|
||||
<P>
|
||||
|
@ -119,6 +122,20 @@ when you call <b>pcre_study()</b>:
|
|||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||
</pre>
|
||||
If using <b>pcre_jit_exec()</b> and supporting a pre-8.32 version of
|
||||
PCRE, you can insert:
|
||||
<pre>
|
||||
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||
pcre_jit_exec(...);
|
||||
#else
|
||||
pcre_exec(...)
|
||||
#endif
|
||||
</pre>
|
||||
but as described in the "JIT FAST PATH API" section below this assumes
|
||||
version 8.32 and later are compiled with --enable-jit, which may
|
||||
break.
|
||||
<br>
|
||||
<br>
|
||||
The JIT compiler generates different optimized code for each of the three
|
||||
modes (normal, soft partial, hard partial). When <b>pcre_exec()</b> is called,
|
||||
the appropriate code is run if it is available. Otherwise, the pattern is
|
||||
|
@ -428,6 +445,36 @@ fast path, and if invalid data is passed, the result is undefined.
|
|||
Bypassing the sanity checks and the <b>pcre_exec()</b> wrapping can give
|
||||
speedups of more than 10%.
|
||||
</P>
|
||||
<P>
|
||||
Note that the <b>pcre_jit_exec()</b> function is not available in versions of
|
||||
PCRE before 8.32 (released in November 2012). If you need to support versions
|
||||
that old you must either use the slower <b>pcre_exec()</b>, or switch between
|
||||
the two codepaths by checking the values of PCRE_MAJOR and PCRE_MINOR.
|
||||
</P>
|
||||
<P>
|
||||
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||
and later there will be no <b>pcre_jit_exec()</b> stub function defined
|
||||
when PCRE is compiled with --disable-jit, which is the default, and
|
||||
there's no way to detect whether PCRE was compiled with --enable-jit
|
||||
via a macro.
|
||||
</P>
|
||||
<P>
|
||||
If you need to support versions older than 8.32, or versions that may
|
||||
not build with --enable-jit, you must either use the slower
|
||||
<b>pcre_exec()</b>, or switch between the two codepaths by checking the
|
||||
values of PCRE_MAJOR and PCRE_MINOR.
|
||||
</P>
|
||||
<P>
|
||||
Switching between the two by checking the version assumes that all the
|
||||
versions being targeted are built with --enable-jit. To also support
|
||||
builds that may use --disable-jit either <b>pcre_exec()</b> must be
|
||||
used, or a compile-time check for JIT via <b>pcre_config()</b> (which
|
||||
assumes the runtime environment will be the same), or as the Git
|
||||
project decided to do, simply assume that <b>pcre_jit_exec()</b> is
|
||||
present in 8.32 or later unless a compile-time flag is provided, see
|
||||
the "grep: un-break building with PCRE >= 8.32 without --enable-jit"
|
||||
commit in git.git for an example of that.
|
||||
</P>
|
||||
<br><a name="SEC12" href="#TOC1">SEE ALSO</a><br>
|
||||
<P>
|
||||
<b>pcreapi</b>(3)
|
||||
|
@ -443,9 +490,9 @@ Cambridge CB2 3QH, England.
|
|||
</P>
|
||||
<br><a name="SEC14" href="#TOC1">REVISION</a><br>
|
||||
<P>
|
||||
Last updated: 17 March 2013
|
||||
Last updated: 05 July 2017
|
||||
<br>
|
||||
Copyright © 1997-2013 University of Cambridge.
|
||||
Copyright © 1997-2017 University of Cambridge.
|
||||
<br>
|
||||
<p>
|
||||
Return to the <a href="index.html">PCRE index page</a>.
|
||||
|
|
|
@ -74,6 +74,11 @@ newline as data characters. However, in some Windows environments character 26
|
|||
maximum portability, therefore, it is safest to use only ASCII characters in
|
||||
<b>pcretest</b> input files.
|
||||
</P>
|
||||
<P>
|
||||
The input is processed using using C's string functions, so must not
|
||||
contain binary zeroes, even though in Unix-like environments, <b>fgets()</b>
|
||||
treats any bytes other than newline as data characters.
|
||||
</P>
|
||||
<br><a name="SEC3" href="#TOC1">PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES</a><br>
|
||||
<P>
|
||||
From release 8.30, two separate PCRE libraries can be built. The original one
|
||||
|
@ -1149,9 +1154,9 @@ Cambridge CB2 3QH, England.
|
|||
</P>
|
||||
<br><a name="SEC17" href="#TOC1">REVISION</a><br>
|
||||
<P>
|
||||
Last updated: 09 February 2014
|
||||
Last updated: 23 February 2017
|
||||
<br>
|
||||
Copyright © 1997-2014 University of Cambridge.
|
||||
Copyright © 1997-2017 University of Cambridge.
|
||||
<br>
|
||||
<p>
|
||||
Return to the <a href="index.html">PCRE index page</a>.
|
||||
|
|
|
@ -8365,7 +8365,11 @@ AVAILABILITY OF JIT SUPPORT
|
|||
If your program may sometimes be linked with versions of PCRE that are
|
||||
older than 8.20, but you want to use JIT when it is available, you can
|
||||
test the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT
|
||||
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||
Also beware that the pcre_jit_exec() function was not available at all
|
||||
before 8.32, and may not be available at all if PCRE isn't compiled
|
||||
with --enable-jit. See the "JIT FAST PATH API" section below for
|
||||
details.
|
||||
|
||||
|
||||
SIMPLE USE OF JIT
|
||||
|
@ -8407,6 +8411,18 @@ SIMPLE USE OF JIT
|
|||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||
|
||||
If using pcre_jit_exec() and supporting a pre-8.32 version of PCRE, you
|
||||
can insert:
|
||||
|
||||
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||
pcre_jit_exec(...);
|
||||
#else
|
||||
pcre_exec(...)
|
||||
#endif
|
||||
|
||||
but as described in the "JIT FAST PATH API" section below this assumes
|
||||
version 8.32 and later are compiled with --enable-jit, which may break.
|
||||
|
||||
The JIT compiler generates different optimized code for each of the
|
||||
three modes (normal, soft partial, hard partial). When pcre_exec() is
|
||||
called, the appropriate code is run if it is available. Otherwise, the
|
||||
|
@ -8696,6 +8712,33 @@ JIT FAST PATH API
|
|||
Bypassing the sanity checks and the pcre_exec() wrapping can give
|
||||
speedups of more than 10%.
|
||||
|
||||
Note that the pcre_jit_exec() function is not available in versions of
|
||||
PCRE before 8.32 (released in November 2012). If you need to support
|
||||
versions that old you must either use the slower pcre_exec(), or switch
|
||||
between the two codepaths by checking the values of PCRE_MAJOR and
|
||||
PCRE_MINOR.
|
||||
|
||||
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||
and later there will be no pcre_jit_exec() stub function defined when
|
||||
PCRE is compiled with --disable-jit, which is the default, and there's
|
||||
no way to detect whether PCRE was compiled with --enable-jit via a
|
||||
macro.
|
||||
|
||||
If you need to support versions older than 8.32, or versions that may
|
||||
not build with --enable-jit, you must either use the slower
|
||||
pcre_exec(), or switch between the two codepaths by checking the values
|
||||
of PCRE_MAJOR and PCRE_MINOR.
|
||||
|
||||
Switching between the two by checking the version assumes that all the
|
||||
versions being targeted are built with --enable-jit. To also support
|
||||
builds that may use --disable-jit either pcre_exec() must be used, or a
|
||||
compile-time check for JIT via pcre_config() (which assumes the runtime
|
||||
environment will be the same), or as the Git project decided to do,
|
||||
simply assume that pcre_jit_exec() is present in 8.32 or later unless a
|
||||
compile-time flag is provided, see the "grep: un-break building with
|
||||
PCRE >= 8.32 without --enable-jit" commit in git.git for an example of
|
||||
that.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
|
||||
|
@ -8711,8 +8754,8 @@ AUTHOR
|
|||
|
||||
REVISION
|
||||
|
||||
Last updated: 17 March 2013
|
||||
Copyright (c) 1997-2013 University of Cambridge.
|
||||
Last updated: 05 July 2017
|
||||
Copyright (c) 1997-2017 University of Cambridge.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -39,6 +39,10 @@ INPUT DATA FORMAT
|
|||
For maximum portability, therefore, it is safest to use only ASCII
|
||||
characters in pcretest input files.
|
||||
|
||||
The input is processed using using C's string functions, so must not
|
||||
contain binary zeroes, even though in Unix-like environments, fgets()
|
||||
treats any bytes other than newline as data characters.
|
||||
|
||||
|
||||
PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES
|
||||
|
||||
|
@ -1083,5 +1087,5 @@ AUTHOR
|
|||
|
||||
REVISION
|
||||
|
||||
Last updated: 09 February 2014
|
||||
Copyright (c) 1997-2014 University of Cambridge.
|
||||
Last updated: 23 February 2017
|
||||
Copyright (c) 1997-2017 University of Cambridge.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue