Skip to content

Commit

Permalink
pcre2: add a few re-exports
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
BurntSushi committed Apr 14, 2019
1 parent f364624 commit a9d71a0
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
1 change: 1 addition & 0 deletions grep-pcre2/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
21 changes: 21 additions & 0 deletions grep-pcre2/src/matcher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit a9d71a0

Please sign in to comment.