1/** \internal
2\file
3Utility functions for tests. */
4
5#include <nc_tests.h>
6#include <time.h>
7#include <sys/time.h>
8
9/** Subtract the `struct timeval' values X and Y, storing the result in
10   RESULT.  Return 1 if the difference is negative, otherwise 0.  This
11   function from the GNU documentation. */
12int
13nc4_timeval_subtract (resultxy)
14   struct timeval *result, *x, *y;
15{
16   /* Perform the carry for the later subtraction by updating Y. */
17   if (x->tv_usec < y->tv_usec) {
18      int nsec = (y->tv_usec - x->tv_usec) / MILLION + 1;
19      y->tv_usec -= MILLION * nsec;
20      y->tv_sec += nsec;
21   }
22   if (x->tv_usec - y->tv_usec > MILLION) {
23      int nsec = (x->tv_usec - y->tv_usec) / MILLION;
24      y->tv_usec += MILLION * nsec;
25      y->tv_sec -= nsec;
26   }
27
28   /* Compute the time remaining to wait.
29      `tv_usec' is certainly positive. */
30   result->tv_sec = x->tv_sec - y->tv_sec;
31   result->tv_usec = x->tv_usec - y->tv_usec;
32
33   /* Return 1 if result is negative. */
34   return x->tv_sec < y->tv_sec;
35}


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed