Skip to content

Commit dbab03a

Browse files
committed
rust/applayertemplate: convert to nom 8
Ticket: OISF#8027
1 parent e806866 commit dbab03a

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

rust/src/applayertemplate/parser.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
* 02110-1301, USA.
1616
*/
1717

18-
use nom7::{
18+
use nom8::{
1919
bytes::streaming::{take, take_until},
2020
combinator::map_res,
21-
IResult,
21+
IResult, Parser,
2222
};
2323
use std;
2424

@@ -27,17 +27,17 @@ fn parse_len(input: &str) -> Result<u32, std::num::ParseIntError> {
2727
}
2828

2929
pub fn parse_message(i: &[u8]) -> IResult<&[u8], String> {
30-
let (i, len) = map_res(map_res(take_until(":"), std::str::from_utf8), parse_len)(i)?;
31-
let (i, _sep) = take(1_usize)(i)?;
32-
let (i, msg) = map_res(take(len as usize), std::str::from_utf8)(i)?;
30+
let (i, len) = map_res(map_res(take_until(":"), std::str::from_utf8), parse_len).parse(i)?;
31+
let (i, _sep) = take(1_usize).parse(i)?;
32+
let (i, msg) = map_res(take(len as usize), std::str::from_utf8).parse(i)?;
3333
let result = msg.to_string();
3434
Ok((i, result))
3535
}
3636

3737
#[cfg(test)]
3838
mod tests {
3939
use super::*;
40-
use nom7::Err;
40+
use nom8::Err;
4141

4242
/// Simple test of some valid data.
4343
#[test]

rust/src/applayertemplate/template.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use crate::applayer::*;
2020
use crate::conf::conf_get;
2121
use crate::core::{ALPROTO_UNKNOWN, IPPROTO_TCP};
2222
use crate::flow::Flow;
23-
use nom7 as nom;
23+
use nom8 as nom;
24+
use nom8::{AsChar, Parser};
2425
use std;
2526
use std::collections::VecDeque;
2627
use std::ffi::CString;
@@ -247,11 +248,11 @@ impl TemplateState {
247248
/// characters for that pattern.
248249
fn probe(input: &[u8]) -> nom::IResult<&[u8], ()> {
249250
let size = std::cmp::min(10, input.len());
250-
let (rem, prefix) = nom::bytes::complete::take(size)(input)?;
251+
let (rem, prefix) = nom::bytes::complete::take(size).parse(input)?;
251252
nom::sequence::terminated(
252-
nom::bytes::complete::take_while1(nom::character::is_digit),
253+
nom::bytes::complete::take_while1(|c: u8| c.is_dec_digit()),
253254
nom::bytes::complete::tag(":"),
254-
)(prefix)?;
255+
).parse(prefix)?;
255256
Ok((rem, ()))
256257
}
257258

0 commit comments

Comments
 (0)