+ if (dst->tv_usec >= MILLION) {
+ dst->tv_usec -= MILLION;
+ dst->tv_sec++;
+ }
+}
+
+/* --- @tv_addl@ --- *
+ *
+ * Arguments: @struct timeval *dst@ = destination block
+ * @const struct timeval *a@ = source blocks
+ * @time_t sec@, @unsigned long usec@ = time to add
+ *
+ * Returns: ---
+ *
+ * Use: Adds a literal time in seconds and microseconds.
+ */
+
+void tv_addl(struct timeval *dst, const struct timeval *a,
+ time_t sec, unsigned long usec)
+{
+ dst->tv_sec = a->tv_sec + sec;
+ dst->tv_usec = a->tv_usec + usec;
+ if (dst->tv_usec >= MILLION) {
+ dst->tv_usec -= MILLION;