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