void-packages/srcpkgs/diffr/patches/eca551190affd4ce676bb184cd8...

79 lines
2.2 KiB
Diff

From eca551190affd4ce676bb184cd8cc52e20947bfc Mon Sep 17 00:00:00 2001
From: Nathan Moreau <nathan.moreau@m4x.org>
Date: Thu, 19 Mar 2020 23:47:50 +0100
Subject: [PATCH] Fix build on 32 bits plateforms.
---
src/main.rs | 8 ++++----
src/test.rs | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index bccc6c4..333438f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -574,7 +574,7 @@ struct HunkHeader {
plus_range: (usize, usize),
}
-const WIDTH: [usize; 20] = [
+const WIDTH: [u64; 20] = [
0,
9,
99,
@@ -597,7 +597,7 @@ const WIDTH: [usize; 20] = [
9999999999999999999,
];
-fn width1(x: usize) -> usize {
+fn width1(x: u64) -> usize {
let result = WIDTH.binary_search(&x);
match result {
Ok(i) | Err(i) => i,
@@ -613,8 +613,8 @@ impl HunkHeader {
}
fn width(&self) -> usize {
- 2 * width1(self.minus_range.0 + self.minus_range.1)
- .max(width1(self.plus_range.0 + self.plus_range.1))
+ 2 * width1((self.minus_range.0 + self.minus_range.1) as u64)
+ .max(width1((self.plus_range.0 + self.plus_range.1) as u64))
+ 1
}
}
diff --git a/src/test.rs b/src/test.rs
index d1254d3..5de7ba4 100644
--- a/src/test.rs
+++ b/src/test.rs
@@ -63,12 +63,12 @@ fn parse_line_number_test() {
#[test]
fn test_width() {
for (i, x) in WIDTH.iter().enumerate() {
- if x < &usize::max_value() {
+ if x < &u64::max_value() {
assert_eq!(format!("{}", x + 1).len(), i + 1);
}
}
assert_eq!(0, width1(0));
- fn test(x: usize) {
+ fn test(x: u64) {
assert_eq!(format!("{}", x).len(), width1(x));
}
for i in 1..=10000 {
@@ -80,7 +80,7 @@ fn test_width() {
for i in 0..64 {
test(1 << i);
}
- test(usize::max_value());
+ test(u64::max_value());
assert_eq!("123:456".len(), HunkHeader::new((123, 5), (456, 9)).width());
assert_eq!(
@@ -88,5 +88,5 @@ fn test_width() {
HunkHeader::new((123, 999), (456, 9)).width()
);
assert_eq!(" :456".len(), HunkHeader::new((0, 0), (456, 9)).width());
- assert_eq!(MAX_MARGIN, 2 * width1(usize::max_value()) + 1);
+ assert_eq!(MAX_MARGIN, 2 * width1(u64::max_value()) + 1);
}