Type Definition hyperscan_sys::hs_compile_error_t
source · [−]pub type hs_compile_error_t = hs_compile_error;
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.