1
Fork 0
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:
Heather 2015-11-28 10:23:08 +04:00
commit 0d8b6cb73c

View file

@ -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
}); });
} }
} }