diff options
-rw-r--r-- | src/time/time.c | 8 |
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; |