ensure rated ease in range

This commit is contained in:
Damien Elmes 2020-03-16 13:16:59 +10:00
parent e790367b1e
commit 00300bb24d

View file

@ -279,11 +279,19 @@ fn parse_flag(s: &str) -> ParseResult<SearchNode<'static>> {
}
/// eg rated:3 or rated:10:2
/// second arg must be between 1-4
fn parse_rated(val: &str) -> ParseResult<SearchNode<'static>> {
let mut it = val.splitn(2, ':');
let days = it.next().unwrap().parse()?;
let ease = match it.next() {
Some(v) => Some(v.parse()?),
Some(v) => {
let n: u8 = v.parse()?;
if n < 5 && n > 0 {
Some(n)
} else {
return Err(ParseError {});
}
}
None => None,
};