mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-04 06:55:06 -05:00
Fix rounding in UTI_AddDoubleToTimeval with negative increments
This commit is contained in:
3
util.c
3
util.c
@@ -135,7 +135,8 @@ UTI_AddDoubleToTimeval(struct timeval *start,
|
|||||||
is too marginal here. */
|
is too marginal here. */
|
||||||
|
|
||||||
int_part = (long) increment;
|
int_part = (long) increment;
|
||||||
frac_part = (long) (0.5 + 1.0e6 * (increment - (double)int_part));
|
increment = (increment - int_part) * 1.0e6;
|
||||||
|
frac_part = (long) (increment > 0.0 ? increment + 0.5 : increment - 0.5);
|
||||||
|
|
||||||
end->tv_sec = int_part + start->tv_sec;
|
end->tv_sec = int_part + start->tv_sec;
|
||||||
end->tv_usec = frac_part + start->tv_usec;
|
end->tv_usec = frac_part + start->tv_usec;
|
||||||
|
|||||||
Reference in New Issue
Block a user