Commit Graph

546 Commits

Author SHA1 Message Date
Philip.Hazel 0448b486e9 Redirect stderr in RunGrepTest instead of appending to testtrygrep from two
different file descriptors, because the latter doesn't always work as expected.
2018-12-06 17:13:41 +00:00
Philip.Hazel 8f1727af98 Cut out test of NUL characters in RunGrepTest for all OS except Linux, as it
doesn't work for *BSD as well as for Solaris and MacOS (which were already cut 
out).
2018-12-06 17:05:06 +00:00
Philip.Hazel 0b64d9cfca Fix non-recognition of anchoring when preceded by (*MARK) etc. 2018-11-27 16:00:58 +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 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 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 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 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 0fc5cda13b Documentation and tests update for script runs. 2018-10-12 17:02:34 +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 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
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
Philip.Hazel 3fce7c75e9 Add "allvector" to pcre2test. 2018-09-15 17:10:39 +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 a8f00b314b Fix typo in Makefile.am, which caused testoutput8-16-4 to be omitted from
tarballs.
2018-08-29 08:26:29 +00:00
Philip.Hazel 1c6f2fc972 Tidy unnecessarily complicated macros in escapes table. 2018-08-19 16:54:41 +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 392974a0cb File tidies and documentation update for 10.32-RC1 Release Candidate. 2018-08-13 11:57:09 +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 e9aa3c0a21 Add support for \N{U+dd...}, for ASCII and Unicode modes only. 2018-07-27 16:30:40 +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 635d04fbb7 Upgrade perltest.sh to support (some) #pattern modifiers. 2018-07-17 16:00:09 +00:00
Philip.Hazel 666e94cd59 Fixed atomic group backtracking bug. 2018-07-16 15:24:32 +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
Philip.Hazel b2294373d7 Ignore qualifiers on lookaheads within lookbehinds when checking for a fixed
length.
2018-07-02 11:23:45 +00:00
Philip.Hazel 1c79bdf36f Fix global search/replace in pcre2test and pcre2_substitute() when the pattern
matches an empty string, but never at the starting offset.
2018-07-02 10:54:03 +00:00
Philip.Hazel 374770c2e3 Increase stack size when linking pcre2test with MSVC. 2018-06-27 16:34:06 +00:00
Philip.Hazel 9de1a271a0 Remove previous patch, as it did not take account of read-only source
directories.
2018-06-22 15:04:01 +00:00
Philip.Hazel c5c9d9bacd Both make systems now delete src/{pcre2.h,config.h} before starting. The
existence of these files can confuse if building is happening in another 
directory.
2018-06-21 16:13:15 +00:00
Philip.Hazel 9d87fcb727 Patches for portability. 2018-06-20 17:05:31 +00:00
Philip.Hazel 7aaced3475 Make stdint.h an optional inclusion, in case it's not present in some systems.
Use inttypes.h instead if it exists.
2018-06-19 17:41:01 +00:00
Philip.Hazel b4aaf222d7 Undefine WIN32 for pcre2grep under Cygwin. 2018-06-19 16:27:42 +00:00
Philip.Hazel 8af671a36d Documentation update. 2018-06-18 16:49:12 +00:00
Philip.Hazel e75410a5d8 More typos and changes to "Kibibytes" for "Kilobytes". 2018-06-18 14:03:33 +00:00
Philip.Hazel fabea723cf Typos in documentation and comments noted by Jason Hood. 2018-06-17 14:13:28 +00:00
Philip.Hazel 3fb01b0443 Ensure all match limit tests set a limit, don't rely on the default. 2018-04-29 15:07:44 +00:00
Philip.Hazel fb15b37b2c Remove ctrl/Z from the input for test 6. 2018-04-28 16:05:48 +00:00
Philip.Hazel 75747ebb11 Re-factor pcre2_dfa_match() to use the heap instead of the stack for workspace
vectors when doing recursive function calls.
2018-04-27 16:48:35 +00:00
Philip.Hazel fb413521fc Minor code tidy. 2018-04-21 16:43:49 +00:00
Philip.Hazel f7187b38c7 Apply some of Daniel Richard G's Windows patches. 2018-04-19 16:52:57 +00:00
Philip.Hazel a7b2b6ff64 Set error offset zero for early errors in pcre2_pattern_convert(). 2018-03-04 15:13:37 +00:00
Philip.Hazel dbb53b3585 Add alignment patch for m68k. 2018-02-27 17:19:51 +00:00
Philip.Hazel e5b34b3555 Add --enable-jit=auto support. 2018-02-25 18:00:29 +00:00
Philip.Hazel ee7e093af0 A small fix to pcre2grep to avoid compiler warnings for -Wformat-overflow=2. 2018-02-25 12:12:48 +00:00
Philip.Hazel 04919e9d03 Add support to pcre2grep for binary zeros in -f files. 2018-02-24 17:09:19 +00:00
Philip.Hazel b26aa366ba Fix \C bug with repeated character classes in UTF-8 mode. 2018-02-19 17:26:33 +00:00
Philip.Hazel 553bf8a1dc Oops, forgot about "-C bsr" in previous patch. 2018-02-19 17:00:45 +00:00
Philip.Hazel af9bcb7f13 Fix pcre2test -C to correctly show what \R matches. 2018-02-19 16:55:47 +00:00
Philip.Hazel aff77100bb Fix the value passed back for POSIX unset groups when REG_STARTEND has a
non-zero starting offset, and make pcre2test show relevant POSIX unset groups.
2018-02-19 14:49:42 +00:00
Philip.Hazel 7eae1c5d17 Final file tidies for 10.31 2018-02-12 11:33:56 +00:00
Philip.Hazel 53a588431c Fix auto-possessification bug at the end of a capturing group that is called
recursively.
2018-01-31 17:53:56 +00:00
Philip.Hazel 7a5b962509 Increment dummy ovector size in internal structures to avoid spurious array
bound checker warnings. This fixes oss-fuzz 5415.
2018-01-16 16:50:40 +00:00
Philip.Hazel 958cd1484f Source tidies and version etc. updates for 10.31-RC1. 2018-01-13 16:53:02 +00:00
Philip.Hazel 9d197bfe76 Avoid pointer overflow for unset captures in pcre2_substring_list_get(), though
it could never have caused a problem.
2018-01-12 18:48:27 +00:00
Philip.Hazel 556b0abe99 Documentation update. 2018-01-01 17:27:55 +00:00
Philip.Hazel 7a6e8a4454 Fix PCRE2_FIRSTLINE bug when a pattern match starts with the first code unit of
a newline sequence.
2018-01-01 14:12:35 +00:00
Philip.Hazel 911d43cd1e Fix \K issues in pcre2grep. 2017-12-26 15:10:04 +00:00
Philip.Hazel a9f7c80fa3 Update pcre2demo to deal with various \K inside assertion anomalies. 2017-12-23 17:15:51 +00:00
Philip.Hazel 94d5f4a050 Add callout_flags to callout blocks, and set bits within it from pcre2_match()
interpretation.
2017-12-22 15:56:27 +00:00
Philip.Hazel 814cc96bc5 Save extra compile options with the compiled pattern, and add an info call to
retrieve them.
2017-12-16 17:49:26 +00:00
Philip.Hazel 5cbab74c97 Rejig how callout blocks are allocated in pcre2_match(). 2017-12-16 16:43:47 +00:00
Philip.Hazel 9e38537b87 A small code tidy for one error return. 2017-12-16 16:07:29 +00:00
Philip.Hazel 3458a2e2cd Fix infelicity in not finding a first character inside a non-assertive group
within a positive assertion.
2017-12-12 16:23:01 +00:00
Philip.Hazel 59d85d7b55 Fix incorrect first matching character when a backreference with zero minimum
repeat starts a pattern (possibly after assertions).
2017-12-12 15:01:51 +00:00
Philip.Hazel 1a81b738fe Change pcre2grep line number and count variables to unsigned long int. 2017-12-08 10:25:49 +00:00
Zoltán Herczeg f93d278054 Fix pcre2_jit_match early check. 2017-11-23 07:54:39 +00:00
Philip.Hazel 2543ba81f7 Fix crash for --line-buffered with a .gz or .bz2 file in pcre2grep. 2017-11-13 17:12:55 +00:00
Philip.Hazel 76814d92c7 Fix multiple multiline matching issues in pcre2grep. 2017-11-13 16:52:39 +00:00
Philip.Hazel 36366914f5 Fix oss-fuzz bugs 3852 and 3891 (same bug); mis-closing external captures by
*ACCEPT inside assertions.
2017-10-29 16:58:38 +00:00
Philip.Hazel 3a55923da8 Fix pcre2grep recursive file name length issue. 2017-10-20 16:51:59 +00:00
Philip.Hazel cc2182261a Add -LM to pcre2test. 2017-10-17 16:26:20 +00:00
Philip.Hazel aa0c168332 Set PCRE2GREP_RC to the pcre2grep exit status when running under VMS. 2017-10-11 16:49:10 +00:00
Philip.Hazel 6f4ee08469 Add some casts to avoid compiler warnings. 2017-09-26 17:01:23 +00:00
Philip.Hazel 8bbf2b1924 Fixed a small memory leak in pcre2test (convert contexts). 2017-09-18 15:51:44 +00:00
Philip.Hazel 897d547046 Define names for compiler error codes and use them in pcre2_convert.c 2017-09-17 16:56:41 +00:00