From: Alan T. DeKok Date: Fri, 24 May 2024 12:59:33 +0000 (-0400) Subject: multiple time deltas by numbers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03d78e0caefd075251b9d76d06992713240a87ca;p=thirdparty%2Ffreeradius-server.git multiple time deltas by numbers it doesn't make much sense to multiple two time deltas together. --- diff --git a/src/lib/io/load.c b/src/lib/io/load.c index 54eac1de932..fad5700eff4 100644 --- a/src/lib/io/load.c +++ b/src/lib/io/load.c @@ -47,7 +47,7 @@ RCSID("$Id$") #define RTTVAR(_rtt, _rttvar, _t) \ fr_time_delta_div(\ fr_time_delta_add(\ - fr_time_delta_mul(_rttvar, fr_time_delta_wrap(IBETA - 1)), \ + fr_time_delta_mul(_rttvar, IBETA - 1), \ DIFF(_rtt, _t)\ ), \ fr_time_delta_wrap(IBETA)\ diff --git a/src/lib/util/time.h b/src/lib/util/time.h index 20919d496a8..a4c2e657f30 100644 --- a/src/lib/util/time.h +++ b/src/lib/util/time.h @@ -270,11 +270,11 @@ static inline fr_time_delta_t fr_time_delta_div(fr_time_delta_t a, fr_time_delta return fr_time_delta_wrap(fr_time_delta_unwrap(a) / fr_time_delta_unwrap(b)); } -static inline fr_time_delta_t fr_time_delta_mul(fr_time_delta_t a, fr_time_delta_t b) +static inline fr_time_delta_t fr_time_delta_mul(fr_time_delta_t a, int64_t b) { typeof_field(fr_time_delta_t, value) out; - if (!fr_multiply(&out, fr_time_delta_unwrap(a), fr_time_delta_unwrap(b))) { - return fr_time_delta_overflow_add(a, b); + if (!fr_multiply(&out, fr_time_delta_unwrap(a), b)) { + return a; } return fr_time_delta_wrap(out); }