aboutsummaryrefslogtreecommitdiffstats
path: root/timespec2timeval.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--timespec2timeval.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/timespec2timeval.c b/timespec2timeval.c
index 92c9b3e..e71585a 100644
--- a/timespec2timeval.c
+++ b/timespec2timeval.c
@@ -10,14 +10,13 @@ libsimple_timespec2timeval(struct timeval *restrict tv, const struct timespec *r
tv->tv_usec = ts->tv_nsec / 1000L;
if ((ts->tv_nsec % 1000L) >= 500L) {
if (++(tv->tv_usec) == 1000000L) {
- tv->tv_usec = 0;
- if (tv->tv_sec == TIME_MAX) {
+ if (LIBSIMPLE_SINCR_OVERFLOW(&tv->tv_sec, TIME_MAX)) {
+ tv->tv_sec = TIME_MAX;
tv->tv_usec = 999999L;
errno = EOVERFLOW;
return -1;
- } else {
- tv->tv_sec += 1;
}
+ tv->tv_usec = 0;
}
}
return 0;