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