Philip.Hazel
07a8fdce25
Source and document file tidies for 10.20-RC1.
2015-06-18 16:39:25 +00:00
Zoltán Herczeg
a68ddd48b5
Improve exact character repeat length check.
2015-06-17 11:32:06 +00:00
Zoltán Herczeg
870f975707
Single character repetition in JIT has been improved.
2015-06-16 11:37:19 +00:00
Philip.Hazel
c146059c22
Make \c operate like Perl in EBCDIC environments.
2015-06-13 16:10:14 +00:00
Philip.Hazel
149aa29209
Fix \a and \e in pcre2test, and \a in pcre2_compile, on EBCDIC platforms.
2015-06-12 16:25:23 +00:00
Philip.Hazel
1d44822484
Fix empty string matching bug.
2015-06-09 17:41:45 +00:00
Philip.Hazel
1e6edd2e33
Fix table entry for \l in EBCDIC environments.
2015-06-09 16:33:44 +00:00
Philip.Hazel
ff4553df08
Check for integer overflow in subroutine calls.
2015-06-08 17:51:54 +00:00
Philip.Hazel
c9ac9e23ec
Refactor named group handling by adding a pre-pass that generates a list of
...
named groups with their numbers before the rest of the compiling code is run.
This has simplified the main compiling code and removed some sources of error.
2015-06-03 16:27:47 +00:00
Zoltán Herczeg
bf492e47f6
Warning fixes.
2015-06-01 06:55:17 +00:00
Zoltán Herczeg
f5a63c79bb
JIT compiler update
2015-05-29 12:52:59 +00:00
Philip.Hazel
9ce0207f5c
Make pcre2test give an error for \P, \p, and \X after #forbid_utf.
2015-05-20 17:44:17 +00:00
Philip.Hazel
666b3c88cf
Give error for empty subpattern name such as (?'').
2015-05-19 16:48:57 +00:00
Philip.Hazel
78735a5336
Fix buffer overflow for lookbehind with mutually recursive groups.
2015-05-18 17:31:29 +00:00
Philip.Hazel
150f50b673
Fix pcre2grep compile with -std=c99.
2015-05-16 16:52:45 +00:00
Philip.Hazel
472d1c4e62
Fix sanitize=undefined warnings for left shifts of 31.
2015-05-16 16:02:46 +00:00
Philip.Hazel
6f94ece67d
Fix forward reference by name to duplicate group number bug.
2015-05-16 11:01:48 +00:00
Philip.Hazel
56444e9978
Fix buffer overflow for recursive byname back reference when duplicate names
...
exist.
2015-05-15 17:09:01 +00:00
Philip.Hazel
92739ef5d8
Fix repeated condition check by duplicated name bug.
2015-05-08 16:32:28 +00:00
Philip.Hazel
e653c5f142
Re-do previous patch and fix new forward-reference-with-quantification bugs.
2015-05-06 16:51:25 +00:00
Philip.Hazel
c420d11041
Fix bug in previous fix.
2015-05-05 18:46:51 +00:00
Philip.Hazel
d5191510db
Fix recursive forward reference bug.
2015-05-03 16:46:56 +00:00
Zoltán Herczeg
e4dc0407e3
Support alt circumflex in JIT.
2015-04-27 07:02:34 +00:00
Philip.Hazel
2966b067cb
Implement --enable-debug.
2015-04-24 11:14:47 +00:00
Philip.Hazel
4d35b44b43
Fix compatibility issues for \8 and \9.
2015-04-23 17:28:39 +00:00
Zoltán Herczeg
e75aa00591
Fix ARM64 SP alignment issue in JIT.
2015-04-23 13:53:29 +00:00
Philip.Hazel
d1a13b8e2e
Implement PCRE2_ALT_CIRCUMFLEX.
2015-04-22 17:39:25 +00:00
Philip.Hazel
fe2733263d
Fix replication bug in pcre2test.
2015-04-21 08:34:10 +00:00
Zoltán Herczeg
c8609a72c6
Fix JIT assertion failure.
2015-04-21 07:02:08 +00:00
Zoltán Herczeg
53e25208d3
Improve options passing.
2015-04-20 13:04:02 +00:00
Philip.Hazel
e47a6ebe87
Implement PCRE2_NEVER_BACKSLASH_C.
2015-04-13 17:29:05 +00:00
Philip.Hazel
3e1748390b
Fix very slow find_minlength when mutual recursion is present.
2015-04-13 09:13:39 +00:00
Philip.Hazel
f123833bdb
Fix other cases where backtracking after \C could cause a crash.
2015-04-08 16:53:22 +00:00
Philip.Hazel
aa8ee3ded5
Fix backtracking bug for \C\X* in UTF mode.
2015-04-08 16:33:58 +00:00
Philip.Hazel
7105d249f6
Fix handling of global matching in pcre2test when a lookbehind assertion
...
contains \K.
2015-04-06 12:16:36 +00:00
Philip.Hazel
cda8384a95
Fix pcre2grep loop provoked by \K in a lookbehind assertion in a non-anchored
...
pattern.
2015-04-03 11:14:19 +00:00
Philip.Hazel
ade67323e7
Fix stack overflow instead of error diagnosis for mutual recursion within
...
lookbehind assertion.
2015-04-01 15:37:54 +00:00
Zoltán Herczeg
9300cb6418
Set auto-possessify limit to 1000 from 10000 (to match the Changelog).
2015-04-01 13:56:11 +00:00
Philip.Hazel
2f265daed0
Tidy the types of some integer variables.
2015-03-31 16:10:01 +00:00
Philip.Hazel
6a2cb0d774
Fix diagnosis of negative relative references to non-existent groups.
2015-03-31 15:01:25 +00:00
Philip.Hazel
2327a5860b
Fix bad compile for possessive quantifier on group containing a subroutine
...
reference.
2015-03-29 17:34:04 +00:00
Philip.Hazel
63cab0dba9
Fix non-diagnosis of syntax error for (?(?< when not followed by ! or =.
2015-03-29 15:40:45 +00:00
Philip.Hazel
99bb61e903
Fix comment between recursion and quantifier bug.
2015-03-29 11:15:32 +00:00
Philip.Hazel
6b6e611b39
Fix mutual recursion inside other parentheses stack overflow bug.
2015-03-27 17:45:02 +00:00
Philip.Hazel
cd85fae3c6
Fix bad memory computation for "(*UTF)[\S\V\H]" (a pattern with a negative
...
class (\S) and explicit wide characters).
2015-03-25 19:26:27 +00:00
Philip.Hazel
a066d12022
Add recursion limit to auto-possessification code.
2015-03-25 17:01:04 +00:00
Philip.Hazel
a4ceadbf47
Fix bugs when (?!) is used as a condition.
2015-03-24 10:21:34 +00:00
Zoltán Herczeg
69cda6bc70
Fix JIT compilation of conditional blocks whose assertion is converted to (*FAIL).
2015-03-24 08:43:52 +00:00
Philip.Hazel
4e61019ffe
Implement pcre2_callout_enumerate().
2015-03-23 15:52:08 +00:00
Philip.Hazel
b15698b077
Fix data overrun for /(?(?C)/
2015-03-20 12:37:28 +00:00
Philip.Hazel
aa8d7342da
Test binary zero in callout strings; change offset to PCRE2_SIZE; some
...
documentation tidies.
2015-03-16 15:38:26 +00:00
Philip.Hazel
15e034c9c2
Add string offset within the pattern to the data passed to a callout with a
...
string argument.
2015-03-14 12:20:18 +00:00
Philip.Hazel
b2c67082bd
Fix crash in pcre2test for some callouts with string arguments.
2015-03-14 10:47:43 +00:00
Philip.Hazel
baf08a3d37
Support manual callout with string argument at start of condition.
2015-03-12 17:00:18 +00:00
Zoltán Herczeg
bccfdcb172
Assertion code generator in JIT has been optimized.
2015-03-12 11:21:38 +00:00
Philip.Hazel
d0cf279d87
Code for callouts with string arguments. Documentation not yet updated.
2015-03-11 17:44:16 +00:00
Philip.Hazel
b6bc8c6328
Final file tidies for 10.10 release.
2015-03-06 15:08:29 +00:00
Zoltán Herczeg
4161891b42
Fix compiler errors when JIT is not enabled.
2015-03-06 12:49:18 +00:00
Philip.Hazel
54396a364d
Fix bad compile of patterns like /[A-`]/i,utf where the range contains
...
characters with multiple other cases and the ranges adjoin.
2015-03-06 11:57:06 +00:00
Zoltán Herczeg
94802eb0d9
Remove computing the JIT read-only data size in advance and use on-demand memory allocation.
2015-03-06 07:41:36 +00:00
Philip.Hazel
c372df5dce
Fix compile error for forward reference subroutine call within a group that
...
also contained a recursive back reference.
2015-03-01 18:34:05 +00:00
Philip.Hazel
ea03932668
Fix "internal error" bug caused by patterns like "((?2){0,1999}())?".
2015-02-28 11:31:51 +00:00
Philip.Hazel
67800ba810
Final file tidies for 10.10-RC2.
2015-02-26 17:36:29 +00:00
Philip.Hazel
20c75b2f42
Add RunTest.bat for testing under Windows, with appropriate test files.
2015-02-25 17:19:28 +00:00
Philip.Hazel
438e51958a
Fix DECL/DEFN typo that affects Windows.
2015-02-24 14:21:28 +00:00
Zoltán Herczeg
928766f727
JIT compiler update.
2015-02-23 07:50:53 +00:00
Philip.Hazel
d226c5ea4d
Improve error message for pcre2test stack setting failure; also %ld should
...
really be %lu throughout.
2015-02-21 18:53:51 +00:00
Philip.Hazel
5878c2c3a5
Two more 32-bit warnings fixed.
2015-02-21 17:26:24 +00:00
Philip.Hazel
07e25a17df
Fix compiler warnings for pcre2test on 32-bit systems.
2015-02-21 17:25:12 +00:00
Philip.Hazel
49a7eada2d
Final source file tidies for 10.10-RC1
2015-02-20 11:20:40 +00:00
Philip.Hazel
3d9cc76a52
Fix bug for groups like (a)*+ (possessive, zero minimum) when the ovector was
...
too small to capture.
2015-02-11 10:06:09 +00:00
Philip.Hazel
154bc83cb5
Fix replacement bug in pcre2_substitute().
2015-02-10 12:48:45 +00:00
Philip.Hazel
9059444834
Fix alignement problem in deserialization on 64-bit SPARC.
2015-02-07 16:22:48 +00:00
Philip.Hazel
2e36497404
Fix compile loop for subroutine reference after class such as [^\ff].
2015-02-06 17:51:55 +00:00
Philip.Hazel
ad452f4036
Give an internal error for a bad opcode during auto-possessification. This can
...
stop a loop when compiling an invalid UTF string with PCRE2_NO_UTF_CHECK.
2015-02-06 16:47:15 +00:00
Philip.Hazel
0011aaa712
Disallow quantification of assertion conditions, for Perl compatibility (and in
...
any case it didn't always work).
2015-01-28 17:31:11 +00:00
Philip.Hazel
6c8945b8d8
Fix mutual back reference recursion segfault.
2015-01-28 11:28:53 +00:00
Philip.Hazel
911b800984
Fix incorrect size calculation when a reference to a duplicate name occurs
...
in a part of the pattern where PCRE2_DUPNAMES is not set.
2015-01-27 17:21:32 +00:00
Philip.Hazel
ca77bdd5c4
Implement (*NO_JIT)
2015-01-26 14:57:27 +00:00
Philip.Hazel
5438fc8a6a
Add serialization functions and tests with updated pcre2test. Fix
...
PCRE2_INFO_SIZE issues.
2015-01-23 16:51:47 +00:00
Philip.Hazel
d4daaf966d
Fix conditional group backreference bug.
2015-01-13 16:01:24 +00:00
Philip.Hazel
c702fd65c8
Final file tides for the 10.00 release.
2015-01-05 16:02:11 +00:00
Philip.Hazel
5a18651441
Add PCRE2_NO_DOTSTAR_ANCHOR and revise documentation for .* optimizing.
2015-01-02 17:09:16 +00:00
Philip.Hazel
019e115060
Ensure that the function op_recurse_ovecsave is not inlined when compiled by
...
gcc.
2014-12-31 11:15:03 +00:00
Philip.Hazel
b8dbae1474
Improvements for substring handling with partial matches.
2014-12-22 17:33:10 +00:00
Philip.Hazel
2a5767d757
File tidies for 10.00-RC2.
2014-12-19 09:55:25 +00:00
Philip.Hazel
e34c44e2aa
Small code tidy.
2014-12-15 11:17:05 +00:00
Philip.Hazel
cb8865d247
Update and improve substring handling and its documentation.
2014-12-14 17:17:06 +00:00
Philip.Hazel
a85d15cbd1
Improve interfaces to substring functions, and fix bugs.
2014-12-13 17:43:26 +00:00
Philip.Hazel
a119d6f974
(1) uint32_t for substring number args; (2) correct PRIV(memctl_malloc)
...
definition for Windows; (3) remove unwanted PCRE2_EXP_DATA_DEFN; (4)
documentation updates.
2014-12-01 16:14:53 +00:00
Zoltán Herczeg
bb3b7927f3
Next attempt to fix the previous bug.
2014-11-30 10:05:41 +00:00
Zoltán Herczeg
d788c58e6b
Fix jit_callback check in JIT.
2014-11-30 10:01:49 +00:00
Philip.Hazel
a99e048b4f
File tidies for 10.00-RC1.
2014-11-28 13:58:17 +00:00
Philip.Hazel
caf78231ec
Use allocator from code for pcre2_match_data_create_from_pattern if NULL
...
passed.
2014-11-28 13:23:40 +00:00
Philip.Hazel
161cd17ba0
Move context argument to last in pcre2_jit_stack_create().
2014-11-28 12:46:16 +00:00
Philip.Hazel
9fcdf2cc6f
Add user data to recursion guard; get ready for RC1 (again)
2014-11-26 16:51:53 +00:00
Philip.Hazel
312375057b
Change callouts to pass the user data as a separate argument.
2014-11-25 17:35:01 +00:00
Philip.Hazel
d13f52c1c4
Tidy up API for pcre2_config.
2014-11-25 11:55:07 +00:00
Zoltán Herczeg
bb6bf69a6e
Move all offset initialization to one place.
2014-11-25 09:06:27 +00:00
Philip.Hazel
0acc416ed1
Final preparations for 10.00-RC1
2014-11-24 15:31:28 +00:00
Philip.Hazel
91f2e97474
More documentation and test updates.
2014-11-23 18:38:38 +00:00
Philip.Hazel
eb4fffbbf4
More documentation and file tidies.
2014-11-21 16:45:06 +00:00
Philip.Hazel
ba1e2e0cbb
Add additional tests and fix some compiler warnings; update stack information.
2014-11-21 12:19:37 +00:00
Philip.Hazel
69176e79a5
Eliminate a compiler warning.
2014-11-20 17:39:28 +00:00
Philip.Hazel
eea35d0cab
Fix zero-repeated assertion-as-condition bug.
2014-11-19 11:17:20 +00:00
Philip.Hazel
819e175659
Eliminate compiler warning
2014-11-18 18:31:39 +00:00
Philip.Hazel
07f8372202
Further substitution tests (code and data), and more documentation.
2014-11-14 18:41:20 +00:00
Philip.Hazel
adc7be2d3a
Get rid of remaining FIXMEs in the code; implement JIT compile timing.
2014-11-12 17:46:02 +00:00
Philip.Hazel
c19bd9a377
Substitution tests and documentation.
2014-11-12 16:57:56 +00:00
Philip.Hazel
b3ac0ffb32
Substitute code update and documentation.
2014-11-11 16:51:07 +00:00
Philip.Hazel
bb34dede56
Config returns code unit count for strings - didn't always.
2014-11-11 10:50:31 +00:00
Philip.Hazel
bcf59568aa
Typos in non-JIT compile mode.
2014-11-11 10:21:23 +00:00
Philip.Hazel
f1c6ee730a
Code for pcre2_substitute(), and tests.
2014-11-11 10:19:23 +00:00
Zoltán Herczeg
1bbc86fe67
JIT compiler update.
2014-11-09 07:23:55 +00:00
Philip.Hazel
a9f31c3377
Preliminary substitute function (not yet tested or documented).
2014-11-08 16:09:24 +00:00
Philip.Hazel
d7495ff642
Finish off changes of JIT stack assignment
2014-11-08 16:07:30 +00:00
Zoltán Herczeg
94c0deddd3
Remove pcre2_jit_stack argument from jit_match.
2014-11-07 12:12:52 +00:00
Zoltán Herczeg
7d9caa5b41
The pcre2_jit_stack_assign is changed to use the matching context.
2014-11-06 14:37:09 +00:00
Philip.Hazel
e3e4131379
Fix bug for (*ACCEPT) inside a capturing group.
2014-11-05 16:05:19 +00:00
Philip.Hazel
44ef2c3401
Make --enable-unicode the default.
2014-11-03 18:27:56 +00:00
Philip.Hazel
08e3107cbe
Changed jit_stack_alloc to jit_stack_create.
2014-11-03 17:13:00 +00:00
Philip.Hazel
dea68c01fb
Add tests for JIT fast path.
2014-11-02 15:34:31 +00:00
Philip.Hazel
a15a4de10b
Recognize '-' as standard input in pcre2test.
2014-10-31 15:57:47 +00:00
Philip.Hazel
8aa511a98b
Improve test coverage; minor typo in JIT test and other minor buglets fixed.
2014-10-31 12:34:34 +00:00
Philip.Hazel
3989f00461
Convert the special "EBCDIC on an ASCII system" test.
2014-10-26 18:00:19 +00:00
Philip.Hazel
56805a1246
Remove some unused code and a spurious comment and reword one message.
2014-10-25 14:28:43 +00:00
Philip.Hazel
b23ec7e1f5
More per-function documentation; revised perltest.sh replaces perltest.pl.
2014-10-25 14:16:46 +00:00
Philip.Hazel
db8480a1e0
A lot more documentation.
2014-10-21 16:33:30 +00:00
Philip.Hazel
c3799e750f
Tidy a lot of files (remove trailing spaces)
2014-10-20 17:28:49 +00:00
Philip.Hazel
eb59159ce0
Change --enable-pcre8 etc to --enable-pcre2-8 etc and consequent changes;
...
change "pcre" to "pcre2" in a number of files.
2014-10-17 15:52:57 +00:00
Philip.Hazel
2f27ca131d
Update pcre2_pattern_info to return a length if "where" is NULL.
2014-10-16 16:49:23 +00:00
Philip.Hazel
7d0008d453
Remove length argument from pcre2_config; give width if where==NULL.
2014-10-15 16:44:12 +00:00
Philip.Hazel
722817013c
Fix several bugs concerned with different configurations.
2014-10-15 15:57:49 +00:00
Philip.Hazel
29ae875dd7
Fix Unicode version and JIT target output.
2014-10-14 17:07:46 +00:00
Philip.Hazel
14ed10fc3a
Minor length bug.
2014-10-14 16:41:13 +00:00
Philip.Hazel
26cd0bccb3
Partial documentation and partial code tweaks.
2014-10-14 16:23:57 +00:00
Zoltán Herczeg
a6302442f2
Fix JIT test issues when PCRE2 configured in various modes.
2014-10-13 06:43:00 +00:00
Philip.Hazel
3ab47d70b0
Create PRIV(strcpy_c8) for copying config strings.
2014-10-12 15:45:05 +00:00
Philip.Hazel
0ec351e95e
Create default compile and match contexts as constant static data.
2014-10-11 17:05:18 +00:00
Philip.Hazel
b6e793f343
The tests all run clean with JIT.
2014-10-11 15:56:25 +00:00
Zoltán Herczeg
1ebad64b34
Landing initial version of JIT regression tests.
2014-10-10 17:29:08 +00:00
Philip.Hazel
d961132ae1
Fix match_unset_backref bug.
2014-10-10 16:42:03 +00:00
Philip.Hazel
623b497851
Fix "first code unit" bug.
2014-10-10 16:16:44 +00:00
Philip.Hazel
62d728bb0b
Remove leftchar/rightchar from the public API.
2014-10-10 11:55:28 +00:00
Zoltán Herczeg
0907fc6e92
Support for JIT code free and small partial match optimization.
2014-10-09 10:06:19 +00:00
Zoltán Herczeg
62746ceb10
Several small JIT fixes.
2014-10-08 08:57:26 +00:00
Philip.Hazel
cc463c76a3
Call _pcre2_jit_free from pcre2_code_free.
2014-10-07 13:07:20 +00:00
Philip.Hazel
2148a4093e
Work on the tests for JIT.
2014-10-06 17:28:42 +00:00
Philip.Hazel
4bdfd990af
Impose a minimum of 1 for the number of pairs in the ovector.
2014-10-05 17:55:25 +00:00
Philip.Hazel
4ca4ad688d
Fix duplicate RM15 label (compile error with --disable-stack-for-recursion).
2014-10-05 16:56:11 +00:00