mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
shuf: use split_once for parsing the range
This commit is contained in:
parent
30ae952b83
commit
9538814702
1 changed files with 7 additions and 8 deletions
|
@ -288,17 +288,16 @@ fn shuf_bytes(input: &mut Vec<&[u8]>, opts: Options) -> UResult<()> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_range(input_range: &str) -> Result<(usize, usize), String> {
|
fn parse_range(input_range: &str) -> Result<(usize, usize), String> {
|
||||||
let split: Vec<&str> = input_range.split('-').collect();
|
if let Some((from, to)) = input_range.split_once('-') {
|
||||||
if split.len() != 2 {
|
let begin = from
|
||||||
Err(format!("invalid input range: {}", input_range.quote()))
|
|
||||||
} else {
|
|
||||||
let begin = split[0]
|
|
||||||
.parse::<usize>()
|
.parse::<usize>()
|
||||||
.map_err(|_| format!("invalid input range: {}", split[0].quote()))?;
|
.map_err(|_| format!("invalid input range: {}", from.quote()))?;
|
||||||
let end = split[1]
|
let end = to
|
||||||
.parse::<usize>()
|
.parse::<usize>()
|
||||||
.map_err(|_| format!("invalid input range: {}", split[1].quote()))?;
|
.map_err(|_| format!("invalid input range: {}", to.quote()))?;
|
||||||
Ok((begin, end + 1))
|
Ok((begin, end + 1))
|
||||||
|
} else {
|
||||||
|
Err(format!("invalid input range: {}", input_range.quote()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue