mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 19:17:43 +00:00
Merge pull request #733 from jbcrail/off-by-one-error
cut: fix off-by-one error for range calculation
This commit is contained in:
commit
0d8b6cb73c
1 changed files with 3 additions and 3 deletions
|
@ -37,7 +37,7 @@ impl FromStr for Range {
|
||||||
}
|
}
|
||||||
(Some(n), Some(m)) if m.len() == 0 => {
|
(Some(n), Some(m)) if m.len() == 0 => {
|
||||||
if let Ok(low) = n.parse::<usize>() {
|
if let Ok(low) = n.parse::<usize>() {
|
||||||
if low > 0 { Ok(Range{ low: low, high: MAX}) } else { Err(field) }
|
if low > 0 { Ok(Range{ low: low, high: MAX - 1}) } else { Err(field) }
|
||||||
} else {
|
} else {
|
||||||
Err(inval)
|
Err(inval)
|
||||||
}
|
}
|
||||||
|
@ -118,10 +118,10 @@ pub fn complement(ranges: &Vec<Range>) -> Vec<Range> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(Some(last), None) => {
|
(Some(last), None) => {
|
||||||
if last.high < usize::MAX {
|
if last.high < usize::MAX - 1 {
|
||||||
complements.push(Range {
|
complements.push(Range {
|
||||||
low: last.high + 1,
|
low: last.high + 1,
|
||||||
high: usize::MAX
|
high: usize::MAX - 1
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue