Commit Graph

836 Commits

Author SHA1 Message Date
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
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 89c2a02027 Fix bug when \K is used in a lookbehind in a substitute pattern. 2018-06-22 16:29:56 +00:00
Philip.Hazel fced6feb5b Remove src/pcre2.h because it can cause trouble when building in a different
directory. Why was it there anyway?
2018-06-22 14:50:43 +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 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 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
Zoltán Herczeg 7ccd0fa994 MIPS-JIT compiler fix: flags were not preserved for fast return. 2018-03-19 08:15:52 +00:00
Zoltán Herczeg 6f6d44305a JIT compiler update. 2018-03-13 12:05:48 +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 26edb6cb43 Minor tweak to the m68k patch. 2018-02-28 09:03:12 +00:00
Philip.Hazel dbb53b3585 Add alignment patch for m68k. 2018-02-27 17:19:51 +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