diff options
Diffstat (limited to '')
-rw-r--r-- | difftimeval.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/difftimeval.c b/difftimeval.c new file mode 100644 index 0000000..b4c3451 --- /dev/null +++ b/difftimeval.c @@ -0,0 +1,16 @@ +/* See LICENSE file for copyright and license details. */ +#include "libsimple.h" + + +int +libsimple_difftimeval(struct timeval *diff, const struct timeval *minuend, const struct timeval *subtrahend) +{ + struct timespec a, b, d; + int r; + libsimple_timeval2timespec(&a, minuend); + libsimple_timeval2timespec(&b, subtrahend); + r = libsimple_difftimespec(&d, &a, &b); + if (r && errno != ERANGE) + return r; + return r | libsimple_timespec2timeval(diff, &d); +} |