Skip to content

Commit ed9cbf6

Browse files
committed
Make number parsers streaming again
1 parent 247b403 commit ed9cbf6

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

imap-proto/src/core.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,10 @@ named!(pub nstring_utf8<Option<&str>>, alt!(
104104
// number = 1*DIGIT
105105
// ; Unsigned 32-bit integer
106106
// ; (0 <= n < 4,294,967,296)
107-
named!(pub number<u32>, flat_map!(nom::character::complete::digit0, parse_to!(u32)));
107+
named!(pub number<u32>, flat_map!(nom::character::streaming::digit1, parse_to!(u32)));
108108

109109
// same as `number` but 64-bit
110-
named!(pub number_64<u64>, flat_map!(nom::character::complete::digit0, parse_to!(u64)));
110+
named!(pub number_64<u64>, flat_map!(nom::character::streaming::digit1, parse_to!(u64)));
111111

112112
// atom = 1*ATOM-CHAR
113113
named!(pub atom<&str>, map_res!(take_while1!(atom_char),

imap-proto/src/parser/rfc3501.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,4 +821,12 @@ mod tests {
821821
Err(_)
822822
);
823823
}
824+
825+
#[test]
826+
fn test_incomplete_fetch() {
827+
match parse_response(b"* 4644 FETCH (UID ") {
828+
Err(nom::Err::Incomplete(_)) => {},
829+
rsp => panic!("should be incomplete: {:?}", rsp),
830+
}
831+
}
824832
}

0 commit comments

Comments
 (0)