From 4bbc7686522a958fa4b89a988d215f880c6eb2a9 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 5 Dec 2017 09:44:59 +0100 Subject: [PATCH] util: avoid casting to long in UTI_DoubleToTimeval() --- util.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/util.c b/util.c index 635a090..586dcbd 100644 --- a/util.c +++ b/util.c @@ -119,13 +119,11 @@ UTI_TimevalToDouble(struct timeval *tv) void UTI_DoubleToTimeval(double a, struct timeval *b) { - long int_part; double frac_part; - int_part = (long)(a); - frac_part = 1.0e6 * (a - (double)(int_part)); - frac_part = frac_part > 0 ? frac_part + 0.5 : frac_part - 0.5; - b->tv_sec = int_part; - b->tv_usec = (long)frac_part; + + b->tv_sec = a; + frac_part = 1.0e6 * (a - b->tv_sec); + b->tv_usec = frac_part > 0 ? frac_part + 0.5 : frac_part - 0.5; UTI_NormaliseTimeval(b); }