blob: 282f7942767545d09600ca2f9a5b8f1a047aab59 (
plain) (
tree)
|
|
/* See LICENSE file for copyright and license details. */
#include "libsimple.h"
int
libsimple_timespec2timeval(struct timeval *restrict tv, const struct timespec *restrict ts) /* TODO test */
{
tv->tv_sec = ts->tv_sec;
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) {
tv->tv_usec = 999999L;
errno = EOVERFLOW;
return -1;
} else {
tv->tv_sec += 1;
}
}
}
return 0;
}
|