git_prole/parse/
null.rs

1use winnow::stream::AsChar;
2use winnow::stream::Compare;
3use winnow::stream::Stream;
4use winnow::stream::StreamIsPartial;
5use winnow::token::take_till;
6use winnow::PResult;
7use winnow::Parser;
8
9pub fn till_null<I>(input: &mut I) -> PResult<<I as Stream>::Slice>
10where
11    I: Stream + StreamIsPartial + Compare<char>,
12    <I as Stream>::Token: AsChar,
13    <I as Stream>::Token: AsChar,
14{
15    let ret = take_till(1.., '\0').parse_next(input)?;
16    let _ = '\0'.parse_next(input)?;
17    Ok(ret)
18}