aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/time/time.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/time/time.c b/src/time/time.c
index 2c87cba..dbedc65 100644
--- a/src/time/time.c
+++ b/src/time/time.c
@@ -52,11 +52,11 @@ struct timespec rin_time_normalize(const struct timespec * const t)
}
if (ret.tv_nsec > 0) {
- ret.tv_sec += ret.tv_nsec / tv_nsec_max;
- ret.tv_nsec = ret.tv_nsec % tv_nsec_max;
+ ret.tv_sec += ret.tv_nsec / (tv_nsec_max + 1);
+ ret.tv_nsec = ret.tv_nsec % (tv_nsec_max + 1);
} else {
- ret.tv_sec += ret.tv_nsec / tv_nsec_max - 1;
- ret.tv_nsec = tv_nsec_max - ret.tv_nsec % tv_nsec_max;
+ ret.tv_sec += ret.tv_nsec / (tv_nsec_max + 1) - 1;
+ ret.tv_nsec = (tv_nsec_max + 1) - (-ret.tv_nsec) % (tv_nsec_max + 1);
}
return ret;