Struct hyperscan_sys::hs_compile_error
source · [−]#[repr(C)]pub struct hs_compile_error {
pub message: *mut c_char,
pub expression: c_int,
}
Expand description
A type containing error details that is returned by the compile calls (@ref hs_compile(), @ref hs_compile_multi() and @ref hs_compile_ext_multi()) on failure. The caller may inspect the values returned in this type to determine the cause of failure.
Common errors generated during the compile process include:
-
Invalid parameter
An invalid argument was specified in the compile call.
-
Unrecognised flag
An unrecognised value was passed in the flags argument.
-
Pattern matches empty buffer
By default, Hyperscan only supports patterns that will always consume at least one byte of input. Patterns that do not have this property (such as
/(abc)?/
) will produce this error unless the @ref HS_FLAG_ALLOWEMPTY flag is supplied. Note that such patterns will produce a match for every byte when scanned. -
Embedded anchors not supported
Hyperscan only supports the use of anchor meta-characters (such as
^
and$
) in patterns where they could only match at the start or end of a buffer. A pattern containing an embedded anchor, such as/abc^def/
, can never match, as there is no way forabc
to precede the start of the data stream. -
Bounded repeat is too large
The pattern contains a repeated construct with very large finite bounds.
-
Unsupported component type
An unsupported PCRE construct was used in the pattern.
-
Unable to generate bytecode
This error indicates that Hyperscan was unable to compile a pattern that is syntactically valid. The most common cause is a pattern that is very long and complex or contains a large repeated subpattern.
-
Unable to allocate memory
The library was unable to allocate temporary storage used during compilation time.
-
Allocator returned misaligned memory
The memory allocator (either malloc() or the allocator set with @ref hs_set_allocator()) did not correctly return memory suitably aligned for the largest representable data type on this platform.
-
Internal error
An unexpected error occurred: if this error is reported, please contact the Hyperscan team with a description of the situation.
Fields
message: *mut c_char
A human-readable error message describing the error.
expression: c_int
The zero-based number of the expression that caused the error (if this can be determined). If the error is not specific to an expression, then this value will be less than zero.
Trait Implementations
sourceimpl Clone for hs_compile_error
impl Clone for hs_compile_error
sourcefn clone(&self) -> hs_compile_error
fn clone(&self) -> hs_compile_error
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more