Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d233fd14
Commit
d233fd14
authored
Apr 30, 2020
by
Oleksandr Byelkin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'merge-pcre' into 10.1
parents
4fc8961d
c1291d7a
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
2544 additions
and
2517 deletions
+2544
-2517
pcre/AUTHORS
pcre/AUTHORS
+3
-3
pcre/ChangeLog
pcre/ChangeLog
+29
-0
pcre/LICENCE
pcre/LICENCE
+3
-3
pcre/NEWS
pcre/NEWS
+6
-0
pcre/README
pcre/README
+5
-4
pcre/configure.ac
pcre/configure.ac
+10
-7
pcre/doc/html/README.txt
pcre/doc/html/README.txt
+5
-4
pcre/doc/html/pcre.html
pcre/doc/html/pcre.html
+1
-1
pcre/doc/html/pcreapi.html
pcre/doc/html/pcreapi.html
+3
-3
pcre/doc/html/pcretest.html
pcre/doc/html/pcretest.html
+11
-13
pcre/doc/pcre-config.txt
pcre/doc/pcre-config.txt
+21
-21
pcre/doc/pcre.3
pcre/doc/pcre.3
+1
-1
pcre/doc/pcre.txt
pcre/doc/pcre.txt
+1960
-1967
pcre/doc/pcreapi.3
pcre/doc/pcreapi.3
+3
-3
pcre/doc/pcregrep.txt
pcre/doc/pcregrep.txt
+116
-116
pcre/doc/pcretest.1
pcre/doc/pcretest.1
+12
-14
pcre/doc/pcretest.txt
pcre/doc/pcretest.txt
+323
-327
pcre/pcre_compile.c
pcre/pcre_compile.c
+16
-14
pcre/pcre_jit_compile.c
pcre/pcre_jit_compile.c
+3
-3
pcre/pcrecpp.cc
pcre/pcrecpp.cc
+3
-1
pcre/pcreposix.c
pcre/pcreposix.c
+2
-3
pcre/pcretest.c
pcre/pcretest.c
+6
-6
pcre/testdata/testinput2
pcre/testdata/testinput2
+1
-1
pcre/testdata/testoutput2
pcre/testdata/testoutput2
+1
-2
No files found.
pcre/AUTHORS
View file @
d233fd14
...
...
@@ -8,7 +8,7 @@ Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-20
19
University of Cambridge
Copyright (c) 1997-20
20
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-20
19
Zoltan Herczeg
Copyright(c) 2010-20
20
Zoltan Herczeg
All rights reserved.
...
...
@@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Emain domain: freemail.hu
Copyright(c) 2009-20
19
Zoltan Herczeg
Copyright(c) 2009-20
20
Zoltan Herczeg
All rights reserved.
...
...
pcre/ChangeLog
View file @
d233fd14
...
...
@@ -5,6 +5,35 @@ 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.44 12 February-2020
-----------------------------
1. Setting --enable-jit=auto for an out-of-tree build failed because the
source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
from Ross Burton.
2. Applied a patch from Michael Shigorin to fix 8.43 build on e2k arch
with lcc compiler (EDG frontend based); the problem it fixes is:
lcc: "pcrecpp.cc", line 74: error: declaration aliased to undefined entity
"_ZN7pcrecpp2RE6no_argE" [-Werror]
3. Change 2 for 8.43 omitted (*LF) from the list of start-of-pattern items. Now
added.
4. Fix ARMv5 JIT improper handling of labels right after a constant pool.
5. Small patch to pcreposix.c to set the erroroffset field to -1 immediately
after a successful compile, instead of at the start of matching to avoid a
sanitizer complaint (regexec is supposed to be thread safe).
6. Check the size of the number after (?C as it is read, in order to avoid
integer overflow.
7. Tidy up left shifts to avoid sanitize warnings; also fix one NULL deference
in pcretest.
Version 8.43 23-February-2019
-----------------------------
...
...
pcre/LICENCE
View file @
d233fd14
...
...
@@ -25,7 +25,7 @@ Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-20
19
University of Cambridge
Copyright (c) 1997-20
20
University of Cambridge
All rights reserved.
...
...
@@ -36,7 +36,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2010-20
19
Zoltan Herczeg
Copyright(c) 2010-20
20
Zoltan Herczeg
All rights reserved.
...
...
@@ -47,7 +47,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2009-20
19
Zoltan Herczeg
Copyright(c) 2009-20
20
Zoltan Herczeg
All rights reserved.
...
...
pcre/NEWS
View file @
d233fd14
...
...
@@ -5,6 +5,12 @@ 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.44 12-February-2020
-----------------------------
This is a bug-fix release.
Release 8.43 23-February-2019
-----------------------------
...
...
pcre/README
View file @
d233fd14
...
...
@@ -13,9 +13,10 @@ libraries.
The latest release of PCRE1 is always available in three alternative formats
from:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.zip
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.bz2
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.zip
There is a mailing list for discussion about the development of PCRE at
pcre-dev@exim.org. You can access the archives and subscribe or manage your
...
...
@@ -999,4 +1000,4 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
Last updated: 1
0 February 2015
Last updated: 1
2 February 2020
pcre/configure.ac
View file @
d233fd14
...
...
@@ -9,19 +9,19 @@ dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might
dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre_major, [8])
m4_define(pcre_minor, [4
3
])
m4_define(pcre_minor, [4
4
])
m4_define(pcre_prerelease, [])
m4_define(pcre_date, [20
19-02-23
])
m4_define(pcre_date, [20
20-02-12
])
# NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved.
# Libtool shared library interface versions (current:revision:age)
m4_define(libpcre_version, [3:1
1
:2])
m4_define(libpcre16_version, [2:1
1
:2])
m4_define(libpcre32_version, [0:1
1
:0])
m4_define(libpcreposix_version, [0:
6
:0])
m4_define(libpcrecpp_version, [0:
1
:0])
m4_define(libpcre_version, [3:1
2
:2])
m4_define(libpcre16_version, [2:1
2
:2])
m4_define(libpcre32_version, [0:1
2
:0])
m4_define(libpcreposix_version, [0:
7
:0])
m4_define(libpcrecpp_version, [0:
2
:0])
AC_PREREQ(2.57)
AC_INIT(PCRE, pcre_major.pcre_minor[]pcre_prerelease, , pcre)
...
...
@@ -159,12 +159,15 @@ AC_ARG_ENABLE(jit,
if test "$enable_jit" = "auto"; then
AC_LANG(C)
SAVE_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$srcdir
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#define SLJIT_CONFIG_AUTO 1
#include "sljit/sljitConfigInternal.h"
#if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)
#error unsupported
#endif]])], enable_jit=yes, enable_jit=no)
CPPFLAGS=$SAVE_CPPFLAGS
fi
# Handle --disable-pcregrep-jit (enabled by default)
...
...
pcre/doc/html/README.txt
View file @
d233fd14
...
...
@@ -13,9 +13,10 @@ libraries.
The latest release of PCRE1 is always available in three alternative formats
from:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.zip
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.bz2
https://ftp.pcre.org/pub/pcre/pcre-x.xx.tar.zip
There is a mailing list for discussion about the development of PCRE at
pcre-dev@exim.org. You can access the archives and subscribe or manage your
...
...
@@ -999,4 +1000,4 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
Last updated: 1
0 February 2015
Last updated: 1
2 February 2020
pcre/doc/html/pcre.html
View file @
d233fd14
...
...
@@ -143,7 +143,7 @@ performance.
One way of guarding against this possibility is to use the
<b>
pcre_fullinfo()
</b>
function to check the compiled pattern's options for UTF.
Alternatively, from release 8.33, you can set the PCRE_NEVER_UTF option at
compile time. This causes a
n
compile time error if a pattern contains a
compile time. This causes a compile time error if a pattern contains a
UTF-setting sequence.
</P>
<P>
...
...
pcre/doc/html/pcreapi.html
View file @
d233fd14
...
...
@@ -1246,7 +1246,7 @@ the following negative numbers:
PCRE_ERROR_BADOPTION the value of
<i>
what
</i>
was invalid
PCRE_ERROR_UNSET the requested field is not set
</pre>
The "magic number" is placed at the start of each compiled pattern as a
n
simple
The "magic number" is placed at the start of each compiled pattern as a simple
check against passing an arbitrary memory pointer. The endianness error can
occur if a compiled pattern is saved and reloaded on a different host. Here is
a typical call of
<b>
pcre_fullinfo()
</b>
, to obtain the length of the compiled
...
...
@@ -1318,7 +1318,7 @@ returned. For anchored patterns, -2 is returned.
</pre>
Return the value of the first data unit (non-UTF character) of any matched
string in the situation where PCRE_INFO_FIRSTCHARACTERFLAGS returns 1;
otherwise return 0. The fourth argument should point to a
n
<b>
uint_t
</b>
otherwise return 0. The fourth argument should point to a
<b>
uint_t
</b>
variable.
</P>
<P>
...
...
@@ -1577,7 +1577,7 @@ returned value 1 (with "z" returned from PCRE_INFO_REQUIREDCHAR), but for
</pre>
Return the value of the rightmost literal data unit that must exist in any
matched string, other than at its start, if such a value has been recorded. The
fourth argument should point to a
n
<b>
uint32_t
</b>
variable. If there is no such
fourth argument should point to a
<b>
uint32_t
</b>
variable. If there is no such
value, 0 is returned.
</P>
<br><a
name=
"SEC16"
href=
"#TOC1"
>
REFERENCE COUNTS
</a><br>
...
...
pcre/doc/html/pcretest.html
View file @
d233fd14
...
...
@@ -99,23 +99,21 @@ the 16-bit library, or <b>pcre32_xx</b> when using the 32-bit library".
<br><a
name=
"SEC4"
href=
"#TOC1"
>
COMMAND LINE OPTIONS
</a><br>
<P>
<b>
-8
</b>
If
both the 8-bit library has been built, this option causes the 8-bit library
t
o be used (which is the default); if the 8-bit library has not been built,
this option causes an
error.
If
the 8-bit library has been built, this option causes it to be used (this is
t
he default). If the 8-bit library has not been built, this option causes an
error.
</P>
<P>
<b>
-16
</b>
If both the 8-bit or the 32-bit, and the 16-bit libraries have been built, this
option causes the 16-bit library to be used. If only the 16-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 32-bit
library has been built, this option causes an error.
If the 16-bit library has been built, this option causes it to be used. If only
the 16-bit library has been built, this is the default. If the 16-bit library
has not been built, this option causes an error.
</P>
<P>
<b>
-32
</b>
If both the 8-bit or the 16-bit, and the 32-bit libraries have been built, this
option causes the 32-bit library to be used. If only the 32-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 16-bit
library has been built, this option causes an error.
If the 32-bit library has been built, this option causes it to be used. If only
the 32-bit library has been built, this is the default. If the 32-bit library
has not been built, this option causes an error.
</P>
<P>
<b>
-b
</b>
...
...
@@ -1154,9 +1152,9 @@ Cambridge CB2 3QH, England.
</P>
<br><a
name=
"SEC17"
href=
"#TOC1"
>
REVISION
</a><br>
<P>
Last updated:
23 February 2017
Last updated:
10 February 2020
<br>
Copyright
©
1997-20
17
University of Cambridge.
Copyright
©
1997-20
20
University of Cambridge.
<br>
<p>
Return to the
<a
href=
"index.html"
>
PCRE index page
</a>
.
...
...
pcre/doc/pcre-config.txt
View file @
d233fd14
...
...
@@ -16,8 +16,8 @@ DESCRIPTION
pcre-config returns the configuration of the installed PCRE libraries
and the options required to compile a program to use them. Some of the
options apply only to
the 8-bit, or 16-bit, or 32-bit libraries,
respectively, and are not available if only one of those
libraries has
options apply only to
the 8-bit, or 16-bit, or 32-bit libraries, re-
spectively, and are not available if only one of those
libraries has
been built. If an unavailable option is encountered, the "usage" infor-
mation is output.
...
...
@@ -36,37 +36,37 @@ OPTIONS
--version Writes the version number of the installed PCRE libraries to
the standard output.
--libs Writes to the standard
output the command line options
required to link with the 8-bit PCRE library (-lpcre
on many
--libs Writes to the standard
output the command line options re-
quired to link with the 8-bit PCRE library (-lpcre
on many
systems).
--libs16 Writes to the standard
output the command line options
required to link with the 16-bit PCRE library (-lpcre16 on
many
systems).
--libs16 Writes to the standard
output the command line options re-
quired to link with the 16-bit PCRE library (-lpcre16 on many
systems).
--libs32 Writes to the standard
output the command line options
required to link with the 32-bit PCRE library (-lpcre32 on
many
systems).
--libs32 Writes to the standard
output the command line options re-
quired to link with the 32-bit PCRE library (-lpcre32 on many
systems).
--libs-cpp
Writes to the standard
output the command line options
required to link with PCRE's C++
wrapper library (-lpcrecpp
Writes to the standard
output the command line options re-
quired to link with PCRE's C++
wrapper library (-lpcrecpp
-lpcre on many systems).
--libs-posix
Writes to the standard
output the command line options
required to link with PCRE's POSIX API wrapper
library
Writes to the standard
output the command line options re-
quired to link with PCRE's POSIX API wrapper
library
(-lpcreposix -lpcre on many systems).
--cflags Writes to the standard
output the command line options
required to compile files that use PCRE (this may includ
e
some
-I options, but is blank on many systems).
--cflags Writes to the standard
output the command line options re-
quired to compile files that use PCRE (this may include som
e
-I options, but is blank on many systems).
--cflags-posix
Writes to the standard
output the command line options
required to compile files that use PCRE's POSIX API wrapper
library (this may include some -I options, but is blank on
many
systems).
Writes to the standard
output the command line options re-
quired to compile files that use PCRE's POSIX API wrapper li-
brary (this may include some -I options, but is blank on many
systems).
SEE ALSO
...
...
pcre/doc/pcre.3
View file @
d233fd14
...
...
@@ -146,7 +146,7 @@ performance.
One way of guarding against this possibility is to use the
\fBpcre_fullinfo()\fP function to check the compiled pattern's options for UTF.
Alternatively, from release 8.33, you can set the PCRE_NEVER_UTF option at
compile time. This causes a
n
compile time error if a pattern contains a
compile time. This causes a compile time error if a pattern contains a
UTF-setting sequence.
.P
If your application is one that supports UTF, be aware that validity checking
...
...
pcre/doc/pcre.txt
View file @
d233fd14
This diff is collapsed.
Click to expand it.
pcre/doc/pcreapi.3
View file @
d233fd14
...
...
@@ -1227,7 +1227,7 @@ the following negative numbers:
PCRE_ERROR_BADOPTION the value of \fIwhat\fP was invalid
PCRE_ERROR_UNSET the requested field is not set
.sp
The "magic number" is placed at the start of each compiled pattern as a
n
simple
The "magic number" is placed at the start of each compiled pattern as a simple
check against passing an arbitrary memory pointer. The endianness error can
occur if a compiled pattern is saved and reloaded on a different host. Here is
a typical call of \fBpcre_fullinfo()\fP, to obtain the length of the compiled
...
...
@@ -1294,7 +1294,7 @@ returned. For anchored patterns, -2 is returned.
.sp
Return the value of the first data unit (non-UTF character) of any matched
string in the situation where PCRE_INFO_FIRSTCHARACTERFLAGS returns 1;
otherwise return 0. The fourth argument should point to a
n
\fBuint_t\fP
otherwise return 0. The fourth argument should point to a \fBuint_t\fP
variable.
.P
In the 8-bit library, the value is always less than 256. In the 16-bit library
...
...
@@ -1560,7 +1560,7 @@ returned value 1 (with "z" returned from PCRE_INFO_REQUIREDCHAR), but for
.sp
Return the value of the rightmost literal data unit that must exist in any
matched string, other than at its start, if such a value has been recorded. The
fourth argument should point to a
n
\fBuint32_t\fP variable. If there is no such
fourth argument should point to a \fBuint32_t\fP variable. If there is no such
value, 0 is returned.
.
.
...
...
pcre/doc/pcregrep.txt
View file @
d233fd14
This diff is collapsed.
Click to expand it.
pcre/doc/pcretest.1
View file @
d233fd14
.TH PCRETEST 1 "
23 February 2017" "PCRE 8.41
"
.TH PCRETEST 1 "
10 February 2020" "PCRE 8.44
"
.SH NAME
pcretest - a program for testing Perl-compatible regular expressions.
.SH SYNOPSIS
...
...
@@ -78,21 +78,19 @@ the 16-bit library, or \fBpcre32_xx\fP when using the 32-bit library".
.rs
.TP 10
\fB-8\fP
If
both the 8-bit library has been built, this option causes the 8-bit library
t
o be used (which is the default); if the 8-bit library has not been built,
this option causes an
error.
If
the 8-bit library has been built, this option causes it to be used (this is
t
he default). If the 8-bit library has not been built, this option causes an
error.
.TP 10
\fB-16\fP
If both the 8-bit or the 32-bit, and the 16-bit libraries have been built, this
option causes the 16-bit library to be used. If only the 16-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 32-bit
library has been built, this option causes an error.
If the 16-bit library has been built, this option causes it to be used. If only
the 16-bit library has been built, this is the default. If the 16-bit library
has not been built, this option causes an error.
.TP 10
\fB-32\fP
If both the 8-bit or the 16-bit, and the 32-bit libraries have been built, this
option causes the 32-bit library to be used. If only the 32-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 16-bit
library has been built, this option causes an error.
If the 32-bit library has been built, this option causes it to be used. If only
the 32-bit library has been built, this is the default. If the 32-bit library
has not been built, this option causes an error.
.TP 10
\fB-b\fP
Behave as if each pattern has the \fB/B\fP (show byte code) modifier; the
...
...
@@ -1155,6 +1153,6 @@ Cambridge CB2 3QH, England.
.rs
.sp
.nf
Last updated:
23 February 2017
Copyright (c) 1997-20
17
University of Cambridge.
Last updated:
10 February 2020
Copyright (c) 1997-20
20
University of Cambridge.
.fi
pcre/doc/pcretest.txt
View file @
d233fd14
This diff is collapsed.
Click to expand it.
pcre/pcre_compile.c
View file @
d233fd14
...
...
@@ -6,7 +6,7 @@
and semantics are as close as possible to those of the Perl 5 language.
Written by Philip Hazel
Copyright (c) 1997-20
18
University of Cambridge
Copyright (c) 1997-20
20
University of Cambridge
-----------------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
...
...
@@ -68,7 +68,7 @@ COMPILE_PCREx macro will already be appropriately set. */
/* Macro for setting individual bits in class bitmaps. */
#define SETBIT(a,b) a[(b)/8] |= (1 << ((b)&7))
#define SETBIT(a,b) a[(b)/8] |= (1
U
<< ((b)&7))
/* Maximum length value to check against when making sure that the integer that
holds the compiled pattern length does not overflow. We make it a bit less than
...
...
@@ -129,8 +129,8 @@ overrun before it actually does run off the end of the data block. */
/* Private flags added to firstchar and reqchar. */
#define REQ_CASELESS (1 << 0)
/* Indicates caselessness */
#define REQ_VARY (1 << 1)
/* Reqchar followed non-literal item */
#define REQ_CASELESS (1
U
<< 0)
/* Indicates caselessness */
#define REQ_VARY (1
U
<< 1)
/* Reqchar followed non-literal item */
/* Negative values for the firstchar and reqchar flags */
#define REQ_UNSET (-2)
#define REQ_NONE (-1)
...
...
@@ -3612,7 +3612,7 @@ for(;;)
if
(
chr
>
255
)
break
;
class_bitset
=
(
pcre_uint8
*
)
((
list_ptr
==
list
?
code
:
base_end
)
-
list_ptr
[
2
]);
if
((
class_bitset
[
chr
>>
3
]
&
(
1
<<
(
chr
&
7
)))
!=
0
)
return
FALSE
;
if
((
class_bitset
[
chr
>>
3
]
&
(
1
U
<<
(
chr
&
7
)))
!=
0
)
return
FALSE
;
break
;
#if defined SUPPORT_UTF || !defined COMPILE_PCRE8
...
...
@@ -7133,17 +7133,19 @@ for (;; ptr++)
int
n
=
0
;
ptr
++
;
while
(
IS_DIGIT
(
*
ptr
))
{
n
=
n
*
10
+
*
ptr
++
-
CHAR_0
;
if
(
n
>
255
)
{
*
errorcodeptr
=
ERR38
;
goto
FAILED
;
}
}
if
(
*
ptr
!=
CHAR_RIGHT_PARENTHESIS
)
{
*
errorcodeptr
=
ERR39
;
goto
FAILED
;
}
if
(
n
>
255
)
{
*
errorcodeptr
=
ERR38
;
goto
FAILED
;
}
*
code
++
=
n
;
PUT
(
code
,
0
,
(
int
)(
ptr
-
cd
->
start_pattern
+
1
));
/* Pattern offset */
PUT
(
code
,
LINK_SIZE
,
0
);
/* Default length */
...
...
@@ -7459,7 +7461,7 @@ for (;; ptr++)
{
open_capitem
*
oc
;
recno
=
GET2
(
slot
,
0
);
cd
->
backref_map
|=
(
recno
<
32
)
?
(
1
<<
recno
)
:
1
;
cd
->
backref_map
|=
(
recno
<
32
)
?
(
1
U
<<
recno
)
:
1
;
if
(
recno
>
cd
->
top_backref
)
cd
->
top_backref
=
recno
;
/* Check to see if this back reference is recursive, that it, it
...
...
@@ -8070,7 +8072,7 @@ for (;; ptr++)
item_hwm_offset
=
cd
->
hwm
-
cd
->
start_workspace
;
*
code
++
=
((
options
&
PCRE_CASELESS
)
!=
0
)
?
OP_REFI
:
OP_REF
;
PUT2INC
(
code
,
0
,
recno
);
cd
->
backref_map
|=
(
recno
<
32
)
?
(
1
<<
recno
)
:
1
;
cd
->
backref_map
|=
(
recno
<
32
)
?
(
1
U
<<
recno
)
:
1
;
if
(
recno
>
cd
->
top_backref
)
cd
->
top_backref
=
recno
;
/* Check to see if this back reference is recursive, that it, it
...
...
@@ -8683,7 +8685,7 @@ do {
op
==
OP_SCBRA
||
op
==
OP_SCBRAPOS
)
{
int
n
=
GET2
(
scode
,
1
+
LINK_SIZE
);
int
new_map
=
bracket_map
|
((
n
<
32
)
?
(
1
<<
n
)
:
1
);
int
new_map
=
bracket_map
|
((
n
<
32
)
?
(
1
U
<<
n
)
:
1
);
if
(
!
is_anchored
(
scode
,
new_map
,
cd
,
atomcount
))
return
FALSE
;
}
...
...
@@ -8811,7 +8813,7 @@ do {
op
==
OP_SCBRA
||
op
==
OP_SCBRAPOS
)
{
int
n
=
GET2
(
scode
,
1
+
LINK_SIZE
);
int
new_map
=
bracket_map
|
((
n
<
32
)
?
(
1
<<
n
)
:
1
);
int
new_map
=
bracket_map
|
((
n
<
32
)
?
(
1
U
<<
n
)
:
1
);
if
(
!
is_startline
(
scode
,
new_map
,
cd
,
atomcount
,
inassert
))
return
FALSE
;
}
...
...
pcre/pcre_jit_compile.c
View file @
d233fd14
...
...
@@ -3938,10 +3938,10 @@ static sljit_s32 character_to_int32(pcre_uchar chr)
sljit_s32
value
=
(
sljit_s32
)
chr
;
#if defined COMPILE_PCRE8
#define SSE2_COMPARE_TYPE_INDEX 0
return
(
value
<<
24
)
|
(
value
<<
16
)
|
(
value
<<
8
)
|
value
;
return
(
(
unsigned
int
)
value
<<
24
)
|
((
unsigned
int
)
value
<<
16
)
|
((
unsigned
int
)
value
<<
8
)
|
(
unsigned
int
)
value
;
#elif defined COMPILE_PCRE16
#define SSE2_COMPARE_TYPE_INDEX 1
return
(
value
<<
16
)
|
value
;
return
(
(
unsigned
int
)
value
<<
16
)
|
value
;
#elif defined COMPILE_PCRE32
#define SSE2_COMPARE_TYPE_INDEX 2
return
value
;
...
...
@@ -8507,7 +8507,7 @@ if (opcode == OP_ONCE)
/* We temporarily encode the needs_control_head in the lowest bit.
Note: on the target architectures of SLJIT the ((x << 1) >> 1) returns
the same value for small signed numbers (including negative numbers). */
BACKTRACK_AS
(
bracket_backtrack
)
->
u
.
framesize
=
(
BACKTRACK_AS
(
bracket_backtrack
)
->
u
.
framesize
<<
1
)
|
(
needs_control_head
?
1
:
0
);
BACKTRACK_AS
(
bracket_backtrack
)
->
u
.
framesize
=
(
(
unsigned
int
)
BACKTRACK_AS
(
bracket_backtrack
)
->
u
.
framesize
<<
1
)
|
(
needs_control_head
?
1
:
0
);
}
return
cc
+
repeat_length
;
}
...
...
pcre/pcrecpp.cc
View file @
d233fd14
...
...
@@ -66,7 +66,8 @@ Arg RE::no_arg((void*)NULL);
// inclusive test if we ever needed it. (Note that not only the
// __attribute__ syntax, but also __USER_LABEL_PREFIX__, are
// gnu-specific.)
#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) \
&& !defined(__INTEL_COMPILER) && !defined(__LCC__)
# define ULP_AS_STRING(x) ULP_AS_STRING_INTERNAL(x)
# define ULP_AS_STRING_INTERNAL(x) #x
# define USER_LABEL_PREFIX_STR ULP_AS_STRING(__USER_LABEL_PREFIX__)
...
...
@@ -91,6 +92,7 @@ static const char *start_options[] = {
"(*LIMIT_RECURSION="
,
"(*LIMIT_MATCH="
,
"(*CRLF)"
,
"(*LF)"
,
"(*CR)"
,
"(*BSR_UNICODE)"
,
"(*BSR_ANYCRLF)"
,
...
...
pcre/pcreposix.c
View file @
d233fd14
...
...
@@ -6,7 +6,7 @@
and semantics are as close as possible to those of the Perl 5 language.
Written by Philip Hazel
Copyright (c) 1997-20
18
University of Cambridge
Copyright (c) 1997-20
20
University of Cambridge
-----------------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
...
...
@@ -298,6 +298,7 @@ if (preg->re_pcre == NULL)
(
void
)
pcre_fullinfo
((
const
pcre
*
)
preg
->
re_pcre
,
NULL
,
PCRE_INFO_CAPTURECOUNT
,
&
re_nsub
);
preg
->
re_nsub
=
(
size_t
)
re_nsub
;
preg
->
re_erroffset
=
(
size_t
)(
-
1
);
/* No meaning after successful compile */
return
0
;
}
...
...
@@ -335,8 +336,6 @@ if ((eflags & REG_NOTBOL) != 0) options |= PCRE_NOTBOL;
if
((
eflags
&
REG_NOTEOL
)
!=
0
)
options
|=
PCRE_NOTEOL
;
if
((
eflags
&
REG_NOTEMPTY
)
!=
0
)
options
|=
PCRE_NOTEMPTY
;
((
regex_t
*
)
preg
)
->
re_erroffset
=
(
size_t
)(
-
1
);
/* Only has meaning after compile */
/* When no string data is being returned, or no vector has been passed in which
to put it, ensure that nmatch is zero. Otherwise, ensure the vector for holding
the return data is large enough. */
...
...
pcre/pcretest.c
View file @
d233fd14
...
...
@@ -500,7 +500,7 @@ enum {
#if (defined (SUPPORT_PCRE8) + defined (SUPPORT_PCRE16) + \
defined (SUPPORT_PCRE32)) >= 2
#define CHAR_SIZE (1 << pcre_mode)
#define CHAR_SIZE (1
U
<< pcre_mode)
/* There doesn't seem to be an easy way of writing these macros that can cope
with the 3 pairs of bit sizes plus all three bit sizes. So just handle all the
...
...
@@ -4443,7 +4443,7 @@ while (!done)
/* If there is study data, write it. */
if
(
extra
!=
NULL
)
if
(
extra
!=
NULL
&&
(
extra
->
flags
&
PCRE_EXTRA_STUDY_DATA
)
!=
0
)
{
if
(
fwrite
(
extra
->
study_data
,
1
,
true_study_size
,
f
)
<
true_study_size
)
...
...
@@ -4735,7 +4735,7 @@ while (!done)
if
(
isdigit
(
*
p
))
/* Set copy string */
{
while
(
isdigit
(
*
p
))
n
=
n
*
10
+
*
p
++
-
'0'
;
copystrings
|=
1
<<
n
;
copystrings
|=
1
U
<<
n
;
}
else
if
(
isalnum
(
*
p
))
{
...
...
@@ -4798,7 +4798,7 @@ while (!done)
if
(
isdigit
(
*
p
))
{
while
(
isdigit
(
*
p
))
n
=
n
*
10
+
*
p
++
-
'0'
;
getstrings
|=
1
<<
n
;
getstrings
|=
1
U
<<
n
;
}
else
if
(
isalnum
(
*
p
))
{
...
...
@@ -5335,7 +5335,7 @@ while (!done)
for
(
i
=
0
;
i
<
32
;
i
++
)
{
if
((
copystrings
&
(
1
<<
i
))
!=
0
)
if
((
copystrings
&
(
1
U
<<
i
))
!=
0
)
{
int
rc
;
char
copybuffer
[
256
];
...
...
@@ -5400,7 +5400,7 @@ while (!done)
for
(
i
=
0
;
i
<
32
;
i
++
)
{
if
((
getstrings
&
(
1
<<
i
))
!=
0
)
if
((
getstrings
&
(
1
U
<<
i
))
!=
0
)
{
int
rc
;
const
char
*
substring
;
...
...
pcre/testdata/testinput2
View file @
d233fd14
...
...
@@ -1380,7 +1380,7 @@
1X
123456\P
//KF>testsavedregex
//
S-
KF>testsavedregex
/abc/IS>testsavedregex
<testsavedregex
...
...
pcre/testdata/testoutput2
View file @
d233fd14
...
...
@@ -5614,9 +5614,8 @@ No match
123456\P
No match
//KF>testsavedregex
//
S-
KF>testsavedregex
Compiled pattern written to testsavedregex
Study data written to testsavedregex
/abc/IS>testsavedregex
Capturing subpattern count = 0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment