diff options
author | Andrew Gallant <jamslam@gmail.com> | 2019-04-14 16:44:18 -0400 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2019-04-14 19:29:27 -0400 |
commit | a9d71a03680ac9c7b0b26ce6b0570145e7e2e2de (patch) | |
tree | b3e3be4c3b830cdcf4a15da656c67d21a37d25eb | |
parent | f3646242cc193b4887cc512b57cca2e80de458b2 (diff) |
pcre2: add a few re-exports
This adds the top-level is_jit_available and version free functions from
the underlying pcre2 crate, and also forwards the max_jit_stack_size
option.
-rw-r--r-- | grep-pcre2/src/lib.rs | 1 | ||||
-rw-r--r-- | grep-pcre2/src/matcher.rs | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/grep-pcre2/src/lib.rs b/grep-pcre2/src/lib.rs index 245ceab7..d7cb0156 100644 --- a/grep-pcre2/src/lib.rs +++ b/grep-pcre2/src/lib.rs @@ -10,6 +10,7 @@ extern crate pcre2; pub use error::{Error, ErrorKind}; pub use matcher::{RegexCaptures, RegexMatcher, RegexMatcherBuilder}; +pub use pcre2::{is_jit_available, version}; mod error; mod matcher; diff --git a/grep-pcre2/src/matcher.rs b/grep-pcre2/src/matcher.rs index 105448fe..2c87fa1a 100644 --- a/grep-pcre2/src/matcher.rs +++ b/grep-pcre2/src/matcher.rs @@ -227,6 +227,27 @@ impl RegexMatcherBuilder { self.builder.jit_if_available(yes); self } + + /// Set the maximum size of PCRE2's JIT stack, in bytes. If the JIT is + /// not enabled, then this has no effect. + /// + /// When `None` is given, no custom JIT stack will be created, and instead, + /// the default JIT stack is used. When the default is used, its maximum + /// size is 32 KB. + /// + /// When this is set, then a new JIT stack will be created with the given + /// maximum size as its limit. + /// + /// Increasing the stack size can be useful for larger regular expressions. + /// + /// By default, this is set to `None`. + pub fn max_jit_stack_size( + &mut self, + bytes: Option<usize>, + ) -> &mut RegexMatcherBuilder { + self.builder.max_jit_stack_size(bytes); + self + } } /// An implementation of the `Matcher` trait using PCRE2. |