aboutsummaryrefslogtreecommitdiffstats
path: root/timespec2timeval.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-11-19 21:39:11 +0100
committerMattias Andrée <maandree@kth.se>2018-11-19 21:39:11 +0100
commite8a7e1c358caec60751460d337f634ff6957ff9d (patch)
treeb0fe92173edbf210d2890ecd35141cc39decf8dc /timespec2timeval.c
parentAdd memelemscan (diff)
downloadlibsimple-e8a7e1c358caec60751460d337f634ff6957ff9d.tar.gz
libsimple-e8a7e1c358caec60751460d337f634ff6957ff9d.tar.bz2
libsimple-e8a7e1c358caec60751460d337f634ff6957ff9d.tar.xz
Add a bunch of function and macros
Signed-off-by: Mattias Andrée <maandree@kth.se>
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;