commit | 12a1f23d5670a5b030eb53acb9ca98dbdd97e3c1 | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Fri Sep 24 03:05:34 2021 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Fri Sep 24 03:05:34 2021 +0000 |
tree | 285b40d1c45383cd37e4017e216c185609689b32 | |
parent | da443767149f341bd29667510367b5fc414ab4dd [diff] | |
parent | 490393037832351786534056119e7933b45165d8 [diff] |
Snap for 7761793 from 490393037832351786534056119e7933b45165d8 to tm-release Change-Id: If3c11f9b0cfad893f019b7c1236f34f1b2fc2b80
Helper macros for the rusticata project.
This crate contains some additions to nom.
For example, the error_if!
macro allows to test a condition and return an error from the parser if the condition fails:
use rusticata_macros::error_if; let r : IResult<&[u8],()> = do_parse!( s, l: be_u8 >> error_if!(l < 4, ErrorKind::Verify) >> data: take!(l - 4) >> (()) );
See the documentation for more details and examples.
Different versions of this crate are available, depending on nom version.
rusticata-macros
4.x depends on nom 7rusticata-macros
3.x depends on nom 6rusticata-macros
2.x depends on nom 5Crate is documented, do running cargo doc
will crate the offline documentation.
Reference documentation can be found here
be_var_u64
and le_var_u64
Serialize
for structures serializationq
(quote) and align32
upgrade_error
and upgrade_error_to
custom_check
flat_take
newtype_enum
parse_uint24
as deprecatedLicensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.