@@ -162,17 +162,16 @@ fn parse_sd_params(input: &str) -> ParseResult<(ParsedSDParams, &str)> {
162162 let mut params = Vec :: new ( ) ;
163163 let mut top = input;
164164 loop {
165- if let Some ( rest2) = maybe_expect_char ! ( top, ' ' ) {
166- let mut rest = rest2;
167- let param_name = take_item ! ( parse_sd_id( rest) , rest) ;
168- take_char ! ( rest, '=' ) ;
169- let param_value = take_item ! ( parse_param_value( rest) , rest) ;
170- // is there an uglier modifier than &*
171- params. push ( ( param_name, String :: from ( & * param_value) ) ) ;
172- top = rest;
173- } else {
165+ let Some ( rest2) = maybe_expect_char ! ( top, ' ' ) else {
174166 return Ok ( ( params, top) ) ;
175- }
167+ } ;
168+ let mut rest = rest2;
169+ let param_name = take_item ! ( parse_sd_id( rest) , rest) ;
170+ take_char ! ( rest, '=' ) ;
171+ let param_value = take_item ! ( parse_param_value( rest) , rest) ;
172+ // is there an uglier modifier than &*
173+ params. push ( ( param_name, String :: from ( & * param_value) ) ) ;
174+ top = rest;
176175 }
177176}
178177
@@ -212,7 +211,7 @@ fn parse_pri_val(pri: i32) -> ParseResult<(severity::SyslogSeverity, facility::S
212211
213212/// Parse an i32
214213fn parse_num ( s : & str , min_digits : usize , max_digits : usize ) -> ParseResult < ( i32 , & str ) > {
215- let ( res, rest1) = take_while ( s, |c| ( '0' ..= '9' ) . contains ( & c ) , max_digits) ;
214+ let ( res, rest1) = take_while ( s, |c| c . is_ascii_digit ( ) , max_digits) ;
216215 let rest = rest1. ok_or ( ParseErr :: UnexpectedEndOfInput ) ?;
217216 if res. len ( ) < min_digits {
218217 Err ( ParseErr :: TooFewDigits )
@@ -231,7 +230,7 @@ fn parse_num_generic<NT>(s: &str, min_digits: usize, max_digits: usize) -> Parse
231230where
232231 NT : FromStr < Err = num:: ParseIntError > ,
233232{
234- let ( res, rest1) = take_while ( s, |c| ( '0' ..= '9' ) . contains ( & c ) , max_digits) ;
233+ let ( res, rest1) = take_while ( s, |c| c . is_ascii_digit ( ) , max_digits) ;
235234 let rest = rest1. ok_or ( ParseErr :: UnexpectedEndOfInput ) ?;
236235 if res. len ( ) < min_digits {
237236 Err ( ParseErr :: TooFewDigits )
@@ -412,7 +411,7 @@ mod tests {
412411 use std:: collections:: BTreeMap ;
413412 use std:: mem;
414413
415- use super :: { parse_message , ParseErr } ;
414+ use super :: { ParseErr , parse_message } ;
416415 use crate :: message;
417416
418417 use crate :: facility:: SyslogFacility ;
@@ -428,7 +427,7 @@ mod tests {
428427 assert ! ( msg. appname. is_none( ) ) ;
429428 assert ! ( msg. procid. is_none( ) ) ;
430429 assert ! ( msg. msgid. is_none( ) ) ;
431- assert ! ( msg. sd. len ( ) == 0 ) ;
430+ assert ! ( msg. sd. is_empty ( ) ) ;
432431 }
433432
434433 #[ test]
0 commit comments