From c4944f4c857a08b0f5d2cf607967051551bcab81 Mon Sep 17 00:00:00 2001 From: Fuad Ismail <fuad1502@gmail.com> Date: Wed, 27 Nov 2024 15:59:03 +0700 Subject: [PATCH] dmesg: remove int to float conversion for adding sign. --- src/uu/dmesg/src/time_formatter.rs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/uu/dmesg/src/time_formatter.rs b/src/uu/dmesg/src/time_formatter.rs index 8c09907..d2d7287 100644 --- a/src/uu/dmesg/src/time_formatter.rs +++ b/src/uu/dmesg/src/time_formatter.rs @@ -73,12 +73,10 @@ impl ReltimeFormatter { fn delta(delta_us: i64) -> String { let seconds = i64::abs(delta_us / 1000000); let sub_seconds = i64::abs(delta_us % 1000000); - let sign = if delta_us >= 0 { 1.0 } else { -1.0 }; - format!( - "{:>+4.0}.{:0>6}", - sign * f64::from(seconds as i32), - sub_seconds - ) + let sign = if delta_us >= 0 { '+' } else { '-' }; + let mut res = format!("{}.{:0>6}", seconds, sub_seconds); + res.insert(0, sign); + format!("{:>11}", res) } } @@ -106,12 +104,11 @@ impl DeltaFormatter { fn delta(delta_us: i64) -> String { let seconds = i64::abs(delta_us / 1000000); let sub_seconds = i64::abs(delta_us % 1000000); - let sign = if delta_us >= 0 { 1.0 } else { -1.0 }; - format!( - "<{:>5.0}.{:0>6}>", - sign * f64::from(seconds as i32), - sub_seconds - ) + let mut res = format!("{}.{:0>6}", seconds, sub_seconds); + if delta_us < 0 { + res.insert(0, '-'); + } + format!("<{:>12}>", res) } }