Philip.Hazel
|
0970ae4195
|
Add the pcre2_maketables_free() function.
|
2019-09-03 14:16:07 +00:00 |
Philip.Hazel
|
45b219e6bc
|
Fix bug introduced in commit 1133. Lookbehinds that follow a condition were not
always properly handled.
|
2019-08-26 16:28:26 +00:00 |
Zoltán Herczeg
|
60df4c65d5
|
Move JIT simd into a separate header file.
|
2019-08-26 12:02:03 +00:00 |
Philip.Hazel
|
71eb916d79
|
Fix allusedtext bug, rightmost consulted character incorrect in negative
lookaheads.
|
2019-08-10 11:34:50 +00:00 |
Philip.Hazel
|
59c7c5d100
|
Fix incorrect computation of group length when one branch exceeded 65535.
|
2019-08-03 08:30:40 +00:00 |
Philip.Hazel
|
81ad92820a
|
Comments updates.
|
2019-08-01 16:59:50 +00:00 |
Philip.Hazel
|
ec6191cd7f
|
Documentation update and ensure current pcre2.h.generic.
|
2019-08-01 16:49:09 +00:00 |
Philip.Hazel
|
c0ed5a3ab3
|
Minor upgrade to pcre2test and comment in ucptest.
|
2019-07-30 17:59:42 +00:00 |
Philip.Hazel
|
7292c751a3
|
Remove incorrect comment.
|
2019-07-29 16:03:25 +00:00 |
Philip.Hazel
|
aff5a78056
|
Upgrade to Unicode 12.1.0
|
2019-07-29 15:32:36 +00:00 |
Philip.Hazel
|
9319b5bb83
|
Correct tables argument data type for pcre2_set_character_tables() and fix
documentation for pcre2_maketables().
|
2019-07-28 15:58:24 +00:00 |
Philip.Hazel
|
24c62fc0d0
|
(*ACCEPT) at start of branch was not recording "may match empty string".
|
2019-07-23 16:58:57 +00:00 |
Zoltán Herczeg
|
82a4729e13
|
Follow the partial matching changes in JIT.
|
2019-07-23 12:34:58 +00:00 |
Philip.Hazel
|
3572634086
|
More partial match tweaks.
|
2019-07-22 16:30:44 +00:00 |
Philip.Hazel
|
c84a06c96e
|
Update definition of partial match and fix \z and \Z (as documented).
|
2019-07-21 16:48:13 +00:00 |
Philip.Hazel
|
344056baf8
|
Update pcre2demo with match_data block size information.
|
2019-07-19 15:31:54 +00:00 |
Philip.Hazel
|
c30815f5a1
|
Fix bug in recent patch for lookbehinds within lookaheads. Fixes ClusterFuzz
15933.
|
2019-07-18 17:20:29 +00:00 |
Zoltán Herczeg
|
f5b35e7943
|
Rework alternative matching in JIT.
|
2019-07-18 06:11:04 +00:00 |
Zoltán Herczeg
|
c11b23e8cc
|
JIT compiler update.
|
2019-07-17 07:05:48 +00:00 |
Philip.Hazel
|
0d0ee67eb0
|
Check start code unit bit map for setting minimum length.
|
2019-07-16 16:16:45 +00:00 |
Philip.Hazel
|
bca9888a2c
|
Implemented pcre2_get_match_data_size().
|
2019-07-16 15:50:09 +00:00 |
Philip.Hazel
|
046c5cd21c
|
Fix lookbehind within lookahead within lookbehind misbehaviour bug.
|
2019-07-16 15:06:21 +00:00 |
Philip.Hazel
|
66811c6c73
|
Fix oversights in recent non-atomic assertions patch. Fixes ClusterFuzz 15837.
|
2019-07-15 16:04:13 +00:00 |
Philip.Hazel
|
4677b1b0bb
|
Tidy partial matching code; prepare for possible future change.
|
2019-07-14 16:44:46 +00:00 |
Philip.Hazel
|
620f3a1307
|
Implement non-atomic positive assertions.
|
2019-07-13 11:12:03 +00:00 |
Zoltán Herczeg
|
691aca7a86
|
Improve non-virtual register usage in JIT.
|
2019-07-10 14:57:43 +00:00 |
Philip.Hazel
|
2e06fdcdc1
|
Check for integer overflow when computing lookbehind lengths. Fixes Clusterfuzz
issue 13656.
|
2019-07-04 17:01:53 +00:00 |
Philip.Hazel
|
a5c601091e
|
Give error for zero timing argument to pcre2test.
|
2019-07-03 17:15:37 +00:00 |
Philip.Hazel
|
4866bd3652
|
Fix bugs in recent patch for setting the maximum lookbehind.
|
2019-06-28 16:58:08 +00:00 |
Philip.Hazel
|
c0d0ee5365
|
Fix partial matching bug in pcre2_dfa_match().
|
2019-06-26 16:13:28 +00:00 |
Philip.Hazel
|
434e3f7468
|
Make pcre2test show actual pre-match consulted characters for a partial match,
not the length of the longest lookbehind. Control this by "allusedtext".
|
2019-06-26 08:23:47 +00:00 |
Philip.Hazel
|
d21f7daf9b
|
Improve maximum lookbehind calculation for nested lookbehinds.
|
2019-06-25 15:40:42 +00:00 |
Zoltán Herczeg
|
7f24a98cfb
|
Mixing SSE2 instructions in JIT.
|
2019-06-25 09:29:37 +00:00 |
Zoltán Herczeg
|
7768756737
|
Improve SSE2 optimiztions in JIT.
|
2019-06-25 06:11:14 +00:00 |
Philip.Hazel
|
9c53b6b11a
|
Minor code and comment tidies.
|
2019-06-19 16:39:18 +00:00 |
Philip.Hazel
|
da5155fed3
|
Don't ignore {1}+ when it is applied to a parenthesized item.
|
2019-06-19 16:27:50 +00:00 |
Philip.Hazel
|
ef79b978a6
|
Fix minimum length bug for patterns containing (*ACCEPT).
|
2019-06-18 16:07:43 +00:00 |
Zoltán Herczeg
|
3b2fa4dff2
|
Improve first character search in JIT (BSF instruction is slow).
|
2019-06-18 08:29:43 +00:00 |
Philip.Hazel
|
1ebc2c50cc
|
Another extension to minimum length calculation.
|
2019-06-17 16:26:44 +00:00 |
Philip.Hazel
|
ead78198d1
|
Improve minimum length finder in the presence of back references when there are
multiple groups with the same number.
|
2019-06-16 15:37:45 +00:00 |
Philip.Hazel
|
0d1ab8515f
|
Fix pcre2grep -o bug when ovector overflows; add option to adjust the limit;
raise the default limit; give error if -o requests an uncaptured parens.
|
2019-06-15 15:51:07 +00:00 |
Philip.Hazel
|
300bf6e2d6
|
Another fix to the recent (*ACCEPT) patch. Fixes clusterfuzz 15242.
|
2019-06-14 15:44:57 +00:00 |
Philip.Hazel
|
49f174ef78
|
Make pcre2_match() return (*MARK) names from successful conditional assertions,
as Perl and the JIT do.
|
2019-06-13 16:49:40 +00:00 |
Philip.Hazel
|
1f6b9097f4
|
Minor improvement to minimum length calculation.
|
2019-06-13 16:00:11 +00:00 |
Philip.Hazel
|
f0c06ee212
|
Fix minor oversight in previous patch. Fixes clusterfuzz 15199.
|
2019-06-11 07:37:29 +00:00 |
Philip.Hazel
|
306f2b9c57
|
Allow (*ACCEPT) to be quantified.
|
2019-06-10 16:41:22 +00:00 |
Zoltán Herczeg
|
cc51779d88
|
Improve single character iterators, add special path to dotall.
|
2019-06-07 13:48:59 +00:00 |
Philip.Hazel
|
d5dc4e0c33
|
Tweak limits on "must have" code unit searches (improves some performance).
|
2019-05-28 16:34:28 +00:00 |
Philip.Hazel
|
4f31de2866
|
Add support for invalid UTF-8 matching to pcre2grep.
|
2019-05-28 14:14:22 +00:00 |
Philip.Hazel
|
5850cc5928
|
Fix previous patch for non-JIT compilation.
|
2019-05-25 16:31:38 +00:00 |
Philip.Hazel
|
16c046ce50
|
Implement support for invalid UTF in the pcre2_match() interpreter.
|
2019-05-24 17:15:48 +00:00 |
Zoltán Herczeg
|
2ad4329f83
|
Rework word boundary in JIT.
|
2019-05-23 07:46:10 +00:00 |
Philip.Hazel
|
342c16ecd3
|
Forgot this file in previous commit. Fixes JIT non-UTF bug.
|
2019-05-13 16:38:18 +00:00 |
Zoltán Herczeg
|
274efb8ded
|
Improved the invalid utf32 support of the JIT compiler.
|
2019-05-10 13:15:20 +00:00 |
Philip.Hazel
|
16de9003e5
|
Implement a check on the number of capturing parentheses, which for some reason
has never existed. This fixes ClusterFuzz issue 14376.
|
2019-04-22 12:39:38 +00:00 |
Philip.Hazel
|
4e4f273f07
|
Final file tidies for 10.33.
|
2019-04-16 15:34:27 +00:00 |
Philip.Hazel
|
4acee004ec
|
Casts and rewrites to avoid clang sanitize warnings.
|
2019-04-16 14:49:07 +00:00 |
Zoltán Herczeg
|
e17e54711b
|
Negate signed shift warnings.
|
2019-04-16 08:57:10 +00:00 |
Philip.Hazel
|
95c9d011e3
|
Change a number of expressions like 1<<10 to 1u<<10.
|
2019-04-12 14:40:27 +00:00 |
Zoltán Herczeg
|
590bc16842
|
Disable SSE2 JIT optimizations in x86 CPUs when SSE2 is not available.
|
2019-03-25 14:10:24 +00:00 |
Philip.Hazel
|
e85de98d0a
|
Fix crash in pcre2_substitute() with NULL match context.
|
2019-03-11 17:29:08 +00:00 |
Philip.Hazel
|
7375089fa5
|
More file tidies for 10.33-RC1
|
2019-03-04 18:07:04 +00:00 |
Zoltán Herczeg
|
4bb683e3ea
|
JIT compiler update.
|
2019-02-14 07:49:03 +00:00 |
Zoltán Herczeg
|
1b95f98f95
|
Compile invalid UTF check in JIT test when only pcre32 is enabled.
|
2019-02-14 07:33:57 +00:00 |
Philip.Hazel
|
255f5e741b
|
Compile \p{Any} the same as . in DOTALL mode, to benefit from auto-anchoring.
|
2019-02-13 17:30:24 +00:00 |
Philip.Hazel
|
f2e1cea288
|
Fix overflow bug in new /u code. Fixes ClusterFuzz 13073.
|
2019-02-13 16:48:30 +00:00 |
Philip.Hazel
|
8c8deae8eb
|
Implement PCRE2_EXTRA_ALT_BSUX to support ECMAscript 6's \u{hhh..} syntax.
|
2019-02-12 17:50:19 +00:00 |
Philip.Hazel
|
d90de8b053
|
Previout bug-fix was bad. This properly fixes an overrun while reading a
Unicode group name.
|
2019-02-07 17:59:37 +00:00 |
Philip.Hazel
|
45959f1eec
|
Fix small bug in new Unicode group name logic.
|
2019-02-07 17:29:50 +00:00 |
Philip.Hazel
|
4d17f4b856
|
JIT tests for script runs must only run when Unicode is supported.
|
2019-02-06 19:02:23 +00:00 |
Philip.Hazel
|
d7b10a57d1
|
Allow non-ASCII in group names when UTF is set; revise group naming terminology
in documentation to use "capture group", as Perl does.
|
2019-02-06 18:11:36 +00:00 |
Philip.Hazel
|
a657d4cff8
|
Fix warning when compiled without Unicode support.
|
2019-02-03 14:49:39 +00:00 |
Philip.Hazel
|
ae913fbee7
|
Update POSIX wrapper to use macros in the .h file, but also have the POSIX
function names in the library.
|
2019-01-30 16:11:16 +00:00 |
Philip.Hazel
|
51fb3956ee
|
Update copyright date
|
2019-01-30 16:10:38 +00:00 |
Philip.Hazel
|
86349f8814
|
Fix bug in VERSION conditional test in DFA matching.
|
2019-01-29 14:34:59 +00:00 |
Zoltán Herczeg
|
f33fc9b85c
|
JIT compiler update.
|
2019-01-22 08:51:48 +00:00 |
Zoltán Herczeg
|
9b1c7e4d4a
|
Add preliminary script run support to JIT.
|
2019-01-18 14:14:19 +00:00 |
Zoltán Herczeg
|
d38c7f7e8d
|
Fix word boundary in JIT compiler. Patch by Mike Munday.
|
2019-01-17 11:47:59 +00:00 |
Philip.Hazel
|
7de013bac3
|
Fix issues with BAD_ESCAPE_IS_LITERAL in character classes.
|
2019-01-04 16:41:32 +00:00 |
Zoltán Herczeg
|
8f165d376e
|
JIT compiler update.
|
2019-01-03 09:34:42 +00:00 |
Philip.Hazel
|
9938684b7b
|
Cast to get rid of compiler warning.
|
2018-12-14 16:02:29 +00:00 |
Zoltán Herczeg
|
5ca7ac2e8e
|
Use TARGET_OS_MAC macro in the executable allocator.
|
2018-12-14 08:00:49 +00:00 |
Zoltán Herczeg
|
5bec7dd3b0
|
Fix MAP_JIT issues on Mac. Patch by Carlo Arenas.
|
2018-12-13 13:23:59 +00:00 |
Philip.Hazel
|
0b64d9cfca
|
Fix non-recognition of anchoring when preceded by (*MARK) etc.
|
2018-11-27 16:00:58 +00:00 |
Philip.Hazel
|
9e4e6feee7
|
Update explanatory comment.
|
2018-11-27 10:42:59 +00:00 |
Zoltán Herczeg
|
57f1eca640
|
Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.
|
2018-11-25 17:11:52 +00:00 |
Philip.Hazel
|
8187224514
|
Add VMS support for pcre2grep callout of an external program.
|
2018-11-24 16:31:10 +00:00 |
Philip.Hazel
|
cd73c9319e
|
Fix two instances of <= 0 being applied to unsigned integers.
|
2018-11-17 16:59:39 +00:00 |
Philip.Hazel
|
24b592ed00
|
Oversight; forgot to update this for the previous patch.
|
2018-11-17 16:49:28 +00:00 |
Philip.Hazel
|
0ad7ff1549
|
Add --disable-pcre2grep-callout-fork configuration setting.
|
2018-11-17 16:45:57 +00:00 |
Philip.Hazel
|
149af0e21b
|
Implement --disable-percent-zt to avoid %zu and %td even if the environment
claims to be C99 or greater.
|
2018-11-15 18:09:02 +00:00 |
Philip.Hazel
|
19c50b9d41
|
Unconditionally use inttypes.h instead of trying for stdint.h (simplification)
and remove the now unnecessary inclusion in pcre2_internal.h.
|
2018-11-14 16:59:19 +00:00 |
Philip.Hazel
|
9bc81d5229
|
Upgrade the as yet unreleased substitute callout facility.
|
2018-11-12 16:02:01 +00:00 |
Philip.Hazel
|
900f457222
|
Update VMS-specific code in pcre2test, on the advice of a VMS user.
|
2018-11-09 18:10:25 +00:00 |
Philip.Hazel
|
66cd7df514
|
Add pcre2_jit_free_unused_memory() to pcre2grep, for tidiness.
|
2018-10-28 17:27:48 +00:00 |
Philip.Hazel
|
9a9fdf3037
|
Fix teeny typo.
|
2018-10-28 17:24:24 +00:00 |
Philip.Hazel
|
87a9887e6e
|
Add "kibibytes" to the output of pcre2test -C to show the units of the heap
limit.
|
2018-10-22 16:56:11 +00:00 |
Philip.Hazel
|
951bc4b9ff
|
Fix heap limit checking overflow bug in pcre2_dfa_match().
|
2018-10-22 16:47:55 +00:00 |
Philip.Hazel
|
c796bb85a1
|
Fix typos and obsolescences in comments.
|
2018-10-21 15:06:43 +00:00 |
Philip.Hazel
|
996892434f
|
Fix zero-repeated subroutine call at start of pattern bug, which recorded an
incorrect first code unit.
|
2018-10-20 09:28:02 +00:00 |
Philip.Hazel
|
8a0dd8955a
|
Set subject field in match data to NULL after failed match.
|
2018-10-19 15:31:16 +00:00 |
Philip.Hazel
|
f90ce1a333
|
Implement PCRE2_COPY_MATCHED_SUBJECT.
|
2018-10-17 08:33:38 +00:00 |
Philip.Hazel
|
971f885277
|
Fix typos in code for alphabetic ranges in EBCDIC environments.
|
2018-10-15 11:01:24 +00:00 |
Philip.Hazel
|
4e7a204d18
|
Update Script Run code to use the Script Extension property instead of the
Script property.
|
2018-10-09 16:42:21 +00:00 |
Philip.Hazel
|
04ba4bce0f
|
Unicode properties data records extended to 12-bytes to include a
ScriptExtensions property.
|
2018-10-06 17:39:52 +00:00 |
Philip.Hazel
|
cda4780fb6
|
Fix bugs of omission in new script run code.
|
2018-10-03 15:41:47 +00:00 |
Philip.Hazel
|
866750fd53
|
Basic "script run" implementation. Not yet complete, and not yet documented.
|
2018-10-02 15:25:58 +00:00 |
Philip.Hazel
|
f26b0b0bae
|
Implement Perl 5.28's alphabetic lookaround syntax, e.g. (*pla:...) and also
(*atomic:...).
|
2018-09-24 16:23:53 +00:00 |
Philip.Hazel
|
69254c77f1
|
Implement PCRE2_EXTRA_ESCAPED_CR_IS_LF
|
2018-09-21 16:59:48 +00:00 |
Zoltán Herczeg
|
8800191109
|
Fix an xclass matching issue in JIT.
|
2018-09-21 07:24:34 +00:00 |
Zoltán Herczeg
|
3b3dc09f38
|
Optimize invalid character reading functions.
|
2018-09-20 13:38:13 +00:00 |
Philip.Hazel
|
992e1fad44
|
Provide alternative POSIX names.
|
2018-09-19 16:33:09 +00:00 |
Philip.Hazel
|
a69267246f
|
Implement callouts from pcre2_substitute().
|
2018-09-18 16:31:30 +00:00 |
Zoltán Herczeg
|
80adf9d165
|
Fix subject buffer overread in JIT. Found by Yunho Kim.
|
2018-09-18 10:19:14 +00:00 |
Zoltán Herczeg
|
aa2687737d
|
Implement next subject character in JIT with invalid utf enabled.
|
2018-09-17 13:43:31 +00:00 |
Zoltán Herczeg
|
a0188b9ee1
|
Fix more invalid UTF issues revealed by new tests in the JIT compiler.
|
2018-09-17 08:09:51 +00:00 |
Zoltán Herczeg
|
7035170527
|
Improve invalid UTF character reading in JIT.
|
2018-09-16 10:35:00 +00:00 |
Philip.Hazel
|
3fce7c75e9
|
Add "allvector" to pcre2test.
|
2018-09-15 17:10:39 +00:00 |
Zoltán Herczeg
|
142c667bbc
|
Add option bits for read_char in JIT.
|
2018-09-15 12:35:56 +00:00 |
Philip.Hazel
|
baa91ecc79
|
Avoid compiler warning
|
2018-09-14 15:15:51 +00:00 |
Zoltán Herczeg
|
205444a91e
|
Generate code for caseless utf backreferences in JIT instead of using a callback.
|
2018-09-14 11:30:13 +00:00 |
Zoltán Herczeg
|
12c4a246b6
|
Start working on invalid utf subject support in JIT.
|
2018-09-12 19:06:29 +00:00 |
Philip.Hazel
|
bf3c7c68ec
|
Final file tidies for 10.32
|
2018-09-11 14:27:39 +00:00 |
Philip.Hazel
|
ab30606b01
|
Fix small bug in pcre2grep (no effect other than a sanitizer warning).
|
2018-09-10 17:34:19 +00:00 |
Philip.Hazel
|
80c57b59f6
|
Minor code fix to avoid static analyzer complaint.
|
2018-09-06 15:59:11 +00:00 |
Philip.Hazel
|
bfad956b34
|
Treat empty-string-matching repeated conditionals the same as ordinary ones
when checking for an anchored pattern.
|
2018-09-03 15:20:40 +00:00 |
Philip.Hazel
|
59c2175ed9
|
Fix anchoring bug in conditionals with only one branch.
|
2018-09-02 16:53:29 +00:00 |
Philip.Hazel
|
50f0de6015
|
Lock out \N{U+hhhh} in non-UTF (non-Unicode) modes.
|
2018-09-02 16:03:27 +00:00 |
Philip.Hazel
|
5d12e53399
|
Minor code fix to get rid of Coverity warning (I hope).
|
2018-08-21 11:27:35 +00:00 |
Philip.Hazel
|
1c6f2fc972
|
Tidy unnecessarily complicated macros in escapes table.
|
2018-08-19 16:54:41 +00:00 |
Philip.Hazel
|
db00606a79
|
New default character tables.
|
2018-08-19 15:58:13 +00:00 |
Philip.Hazel
|
91715304cb
|
Remove unused character flag ctype_meta, no longer used.
|
2018-08-19 15:44:06 +00:00 |
Philip.Hazel
|
6e6bb40a3d
|
Fix bad auto-possessification of certain types of class.
|
2018-08-17 14:45:35 +00:00 |
Philip.Hazel
|
91a6a3a521
|
Zero pointers in serialized patterns, for consistency.
|
2018-08-15 18:03:29 +00:00 |
Philip.Hazel
|
d2dbb07ce7
|
Final file tidies for 10.32-RC1.
|
2018-08-13 14:20:46 +00:00 |
Philip.Hazel
|
392974a0cb
|
File tidies and documentation update for 10.32-RC1 Release Candidate.
|
2018-08-13 11:57:09 +00:00 |
Zoltán Herczeg
|
438446ebe7
|
JIT compiler update.
|
2018-08-13 09:21:18 +00:00 |
Philip.Hazel
|
1a8cc3dab6
|
Make bcopy() emulation of memmove() work properly.
|
2018-08-10 16:27:44 +00:00 |
Philip.Hazel
|
9332d4be69
|
Fix dynamic options changing bug.
|
2018-08-04 08:20:18 +00:00 |
Philip.Hazel
|
b196143523
|
Make /x more Perl-compatible by recognizing all of Unicode's "Pattern White
Space" characters, not just the ASCII ones.
|
2018-08-03 09:38:36 +00:00 |
Philip.Hazel
|
6e245572b8
|
Add support for (?^) as now supported by Perl.
|
2018-07-28 16:23:24 +00:00 |
Philip.Hazel
|
a9453f096f
|
Give specific error for \F as for \L, \U etc.
|
2018-07-27 16:55:52 +00:00 |
Philip.Hazel
|
e9aa3c0a21
|
Add support for \N{U+dd...}, for ASCII and Unicode modes only.
|
2018-07-27 16:30:40 +00:00 |
Philip.Hazel
|
7d97c226c7
|
Fix oversight in recent OP_COMMIT_ARG update.
|
2018-07-22 15:19:43 +00:00 |
Philip.Hazel
|
5ea9f6b0f1
|
Some places where the new opcode OP_COMMIT_ARG needs to be handled and which I
forgot.
|
2018-07-21 14:52:26 +00:00 |
Philip.Hazel
|
192b82cf6e
|
Allow :NAME on (*ACCEPT), (*FAIL), and (*COMMIT) and fix bug with (*MARK)
followed by (*ACCEPT) in an assertion. More small updates to perltest.sh.
|
2018-07-21 14:34:51 +00:00 |
Philip.Hazel
|
666e94cd59
|
Fixed atomic group backtracking bug.
|
2018-07-16 15:24:32 +00:00 |
Philip.Hazel
|
d01c822c6d
|
Minor tweak (may give minor performance improvement) to JIT UCD handling.
|
2018-07-14 17:00:17 +00:00 |
Philip.Hazel
|
937617f343
|
Update to Unicode 11.0.0
|
2018-07-07 16:10:29 +00:00 |
Philip.Hazel
|
50aa69657e
|
Fix bug in VERSION number reading.
|
2018-07-02 12:26:04 +00:00 |